Luceneのリアルタイム検索機能を使用して、アプリケーションで全文検索を行っています。コミットはコストがかかるため、10個のドキュメントが追加されるたびにインデックスを作成するとします(インデックス作成には、1時間あたり約150〜200個のドキュメントが必要です)。今、プロセスを終了したい場合、プロセスが終了する前に、メモリ内のすべてのドキュメントがディスクにコミットされていることを確認するにはどうすればよいですか?ここで推奨されるアプローチはありますか?あるいは、私の書類の量があまりにも少なくてすみます。Lucene NRT Reader/Writerを正常に終了するにはどうすればいいですか?
コミットされていないすべてのドキュメントを追跡する必要がありますか?プロセスがディスクにコミットされる前にプロセスが強制終了された場合、プロセスの起動時にこれらのコミットされていないインデックスを再度インデックスする必要がありますか?
Lucene NRTは、埋め込まれたJettyを実行するプロセスで使用されます。 Shuttyコマンドを(いくつかのサーブレットを起動して)jettyに送信し、すべてのドキュメントがコミットされてからSystem.exit()を使用して終了するまで待つのは適切な方法ですか?
あなたはどのようにluceneでソフトコミットをしますか? Googleで検索するとリソースが見つかりません。 – naresh
申し訳ありませんが、これはSolrのみの機能です。私はそれがLuceneでも利用可能だと思っていましたが、そうではありません。あなたがそれを使いたいなら、自分で実装する必要があります。 http://wiki.apache.org/solr/UpdateXmlMessagesやhttps://issues.apache.org/jira/browse/SOLR-2193にある技術文書を読むことができます(最新のパッチにはソフトコミットのための実装の実装)。 – jpountz