インデックスサイズ

トピック作成者:ks-solruserml-bot (2024/05/28 20:36 投稿)
5
CloseClose

(The bot translated the original post https://lists.apache.org/thread/w7b2y9n4ljht2fz56z9qpff44fv4rxzn into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは、

インデックスサイズの最適化を試みています。

ファイルを格納せずにインデックス化すると、インデックスサイズが2,500倍に増加する理由を教えていただけますか?バージョン7.3を使用しています。スキーマやその他の条件はすべて一定に保たれています。

ありがとうございます。

返信投稿者:ks-solruserml-bot (2024/05/28 20:36 投稿)

ある時点で、インデックスサイズはそれほど重要ではありません。ドキュメントを再インデックス化すると、実際に存在するドキュメントを削除するのではなく、それを削除済みとしてマークし、置き換えのドキュメントを追加します。最適化は削除済みのファイルを除去するものですが、Solrはマージが非常に得意であり、ディスクのコストも安価であるため、最適化はもはや推奨されるプロセスではありません。インデックスが増加した理由は、インデックス化されたデータが依然として格納されており、当然ながら重複しているからだと推測されます。もしパフォーマンスに悪影響がないのであれば、最適化コマンドを実行する必要はありません。私は450GBのインデックスを800GB以上に増やしても問題なく稼働させたことがあります。ディスクスペースが十分にあることを前提にすれば、問題なく運用できます。

返信投稿者:ks-solruserml-bot (2024/05/28 20:36 投稿)

申し訳ありませんが、私は現時点ではインデックスの最適化機能を使用していません。

実験1:
サイズが約10KBのドキュメントを1回のみインデックス化します。複数のシャードでの合計インデックスサイズは約117KBです。

実験2:
サイズが約10KBのドキュメントを10,000回インデックス化します。複数のシャードでの合計インデックスサイズは約250MBです。

同じドキュメントを複数回インデックス化しても、反転インデックス内の用語(キー)は増加しないと仮定しています。したがって、完全に異なるドキュメントをインデックス化する場合と比較して、インデックスサイズの増加は最小限であると予想しています。私が見落としている点を教えていただけますか?

返信投稿者:ks-solruserml-bot (2024/05/28 20:37 投稿)

要点はこうです:Solrは、削除されたインデックスエントリが占めるスペースを再利用しません。ドキュメントを置き換えると、以前のバージョンのエントリが削除されます。最終的に、Solrはインデックスの一部を新しいファイルに再編成し、これにより一部の削除されたインデックスエントリが削除されます。いつでも、Solrはある程度の「無駄な」スペースを保持していますが、それは管理されており、通常は心配する必要はありません。

Mark H. Wood
リード・テクノロジー・アナリスト

インディアナ大学プルデュー大学インディアナポリス校
大学図書館
755 W.ミシガン・ストリート
インディアナポリス、IN 46202
317-274-0749
www.ulib.iupui.edu

返信投稿者:ks-solruserml-bot (2024/05/28 20:37 投稿)

理解しました。第二の実験に関して、重要な情報をお伝えし忘れました:

内容は完全に同じでも、各ドキュメントはファイル名が異なるため、異なるものとして扱われます。10,000個のファイルの名前が異なります。したがって、ファイル名、IDなどの一部のフィールドの内容は常に異なります。ストレージサイズの観点から最も重要なフィールドは内容フィールドであり、この実験のすべてのファイルに対して完全に同じです。

したがって、Solrのドキュメントの削除は必要ありません。実際、update?optimize=true を実行しても、インデックスの総サイズにはほとんど変化がないようです。

返信投稿者:ks-solruserml-bot (2024/05/28 20:37 投稿)

同じキーであっても、インデックスが大きくなるのはそのためです。Solrは、各ドキュメント内の各用語の位置をインデックス化します。1つのドキュメント内の1つの用語は1つの位置を占めます。10,000のドキュメント内の1つの用語は10,000の位置を占めます。10,000のドキュメントそれぞれで2回発生する1つの用語は20,000の位置を占めます。

また、同じドキュメントの複数のコピーをインデックス化することは、インデックスサイズを予測する良い方法ではありません。サイズは実際のドキュメントの統計情報とスキーマに依存します。

実際のデータと使用する予定のスキーマで測定してみてください。

wunder
Walter Underwood
wunder@wunderwood.org
http://observer.wunderwood.org/ (私のブログ)

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

KandaSearch

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

投稿の削除

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