optimizeって必要なの?

トピック作成者:感謝してます (2024/08/13 16:26 投稿)
2
OpenOpen

こんにちは!

インデックスの最適化をするのに、optimizeが本当に必要なのかな?って思ってます。
なぜかというと、「optimizeって結構時間がかかるし、インデックスは自動でマージ処理がされるから、optimizeを別途行う必要がない」って聞いたからです。

それに、optimizeでセグメント数を調整するのって難しそうだなと思ってます。
なぜなら、インデックスの最適化って、こんな感じでインデキシング性能と検索性能がトレードオフになるって聞いたからです。

  • セグメント数が少ないと、検索は速くなるけどインデキシングのスループットが落ちる
  • セグメント数が多いと、インデキシングは速くなるけど検索性能が下がる

だから、optimizeを使うより、最初から自動のマージ処理に任せておく方がいいんじゃないかと思ってるんですけど、どうでしょうか?

返信投稿者:ウフク (2024/08/15 16:20 投稿)

手動で最適化をトリガーするのは不要だと思います。ご指摘の通り、大きなセグメントと小さなセグメントにはそれぞれ利点と欠点があります。現代のSSDはこの問題をあまり重要視しなくても良いでしょう。

デフォルトのセグメントマージ動作よりも細かい調整を行いたい場合は、mergePolicyFactoryを設定するのが良い方法です。Solrのドキュメントにはその詳細がたくさん記載されています: https://solr.apache.org/guide/solr/latest/configuration-guide/index-segments-merging.html#mergepolicyfactory

返信投稿者:感謝してます (2024/08/21 16:36 投稿)

手動で最適化をトリガーするのは不要だと思います。ご指摘の通り、大きなセグメントと小さなセグメントにはそれぞれ利点と欠点があります。現代のSSDはこの問題をあまり重要視しなくても良いでしょう。

やはり手動で最適化をするのは特にSSDが当たり前になった最近では不要みたいですね。
ウフクさん、回答いただきありがとうございます!

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?