私はLucene 3.0.3を使用しています。私は同じインデックス上のすべての操作をカプセル化することを目的としたSpring Beanを作成しました。急速な変化と検索を可能にするためにLuceneではコミットされた表示が変更されます。ベストプラクティス
public class IndexOperations {
private IndexWriter writer;
private IndexReader reader;
private IndexSearcher searcher;
public void init() {...}
public void destroy() {...}
public void save(Document d) {...}
public void delete(Document d) {...}
public List<Document> list() {...}
}
、私は良いアイデアかもしれないオープンライター、リーダーと探索を残して思いました。しかし、問題は、再開するまで、作家のコミットされた変更を読者が見ることができないことです。この操作はコストがかかる可能性があるため、高速検索のための良い考えではないかもしれません。
この典型的なシナリオにはどのようなアプローチが最適でしょうか?
@ Xoradap:良いアイデア、私はそれについて考えなかった。しかし、インデックスが大きい場合、これは非常にコストがかかりませんか? – sinuhepop
@Sinuhe:いいえ、これはこれを行うための推奨方法です。ライターは必要に応じてディスクにフラッシュします。 – Xodarap
@ Xoradap:いくつかのテストの後、あなたの方法は素晴らしいです!ありがとう。 – sinuhepop