私はかなりluceneに新しいです。私はセグメントのマージプロセスを理解しようとしています。私はメソッドの最適化(そのインスタンスで利用可能なすべてのLuceneインデックスセグメントをマージする)を見つけました。 私の正確な質問は、最適化はセグメントのすべてのレベルをマージするのですか&は1つの複雑なセグメントを作成しますか? 最新バージョンのLucene(Lucene 6.5など)の代替品ですか? インデックス作成プロセスの後に常にoptimizeメソッドを呼び出すとよいでしょうか?インデックスは常に1つのセグメントを持ち、検索は高速になるでしょうか?最適化メソッドとは何ですか? luceneの最新バージョンで最適化メソッドの代替手段
0
A
答えて
1
まず、セグメントを常にセグメントにマージする必要はありません。設定することができます。原則として、セグメントのマージ/インデックスの最適化のアイデアは、Luceneでの削除の実装から来ています。 Luceneは文書を削除しないで、むしろ削除のためにそれらをマークします。次に、新しい文書が新しいセグメントに入っています。
Luceneには用語辞書や他の多くのようなセグメントごとのファイルがたくさんあるので、それらをマージするとヒープが減り、検索が高速になります。しかし、通常、マージのプロセスはそれほど速くはありません。
全体的に、新しいドキュメントのインデックスを作成し、すべてを実行しないときは、マージ/最適化の呼び出しのバランスが必要です。見るべきことの1つはMergePolicyで、さまざまなタイプのマージをさまざまな戦略で定義しています。あなたが(私が疑っている)あなたに適したものが見つからない場合は、あなたのニーズに合ったものを実装することができます。 Luceneの6.5にあなたが
public void forceMerge(int maxNumSegments)
IndexWriter
クラスで使用することができたよう
関連する問題
- 1. 仮想メソッドの最適化
- 2. メソッドの最適化--interface_si
- 3. ファイルアソシエーションのためのddeの最適な.net代替手段は何ですか?
- 4. 最適化djangosカウント()メソッド
- 5. Flashの最新かつ最高の代替手段は何ですか?
- 6. DateTime.Nowの代替案の最適化
- 7. Lucene .Net最適化プロセス
- 8. Raycast代替または最適化
- 9. SQL最適化最適化?
- 10. このValidateメソッドを最適化する
- 11. CGLayerのdrawRectメソッドを最適化する
- 12. 私のメソッドを最適化する
- 13. LinkedListのindexOf()vs lastIndexOf()メソッドの最適化
- 14. 最適化 - 2つの同様のメソッド
- 15. QueryStringの最良の代替手段は何ですか
- 16. #defineの#ifに最適な代替手段
- 17. Luceneのパフォーマンスを最適化する
- 18. Adaboostの最も強力な代替手段は何ですか?
- 19. RIAアプリケーションの最適化と最小化
- 20. JavaScriptの最小化と最適化
- 21. Sitecore Lucene/Solrクエリを最適化する
- 22. データベースリレーショナル代数最適化
- 23. 最新のiPad Pro Simulatorの最適化
- 24. は、最適化
- 25. メソッドのスクロールと停止キューイングでのJQueryの最適化
- 26. Internet Explorerのformdata.get()メソッドの代替手段は何ですか?
- 27. コンパイラはメソッド呼び出しを最適化できますか?
- 28. ライブウェブサイトのサムネイルを最適化する最適な方法は何ですか?
- 29. ADO.Netクエリをカプセル化するのに最適なC#メソッドは何ですか
- 30. 最終キーワードの最適化