Lucene的同步法则
避免出现同步问题:
????? 1、在同一时刻,Lucene的索引只允许有一个进程对其进行加入文档、删除文档、更新索引等操作。
????? 2、在同一时刻,Lucene的索引允许多个线程同时对其进行检索。
也即:
????? 1、任一时刻,在系统中只能有一个IndexWriter的实例对索引进行操作不允许有多个IndexWriter向索引添加Document,或是优化索引、合并segment。
? ??? 2、任一时刻,系统不能有多个IndexReader在执行文档的删除操作。下一个IndexReader的操作,应当在上一个IndexReader执行close方法之后运行。
????? 3、在使用IndexWriter向索引加入文档前,必须先关闭执行删除操作的IndexReader实例。
????? 4、在使用IndexReader删除前,必须先关闭执行添加Document操作的IndexWriter的实例。