1

私はSOLRインデックスのパフォーマンスを改善するための最良の方法を分析してきましたが、検索が分散されるように現在のインデックスをシャーディングする可能性があります。

ただし、インデックスが400GBを超え、約700MMのドキュメントが含まれていることを考えると、データのインデックスの再作成は面倒なようです。シャード環境をより効率的に作成する手段として、インデックスを複製し、ドキュメントを削除するというアイデアをいじくりまわしてきました。

残念ながら、ドキュメントの内部数値IDに対してクエリを実行するためにモジュラスを使用できないようです。完全なインデックスの再作成ではなく、クエリで削除するために使用できる他の可能なパーティション化戦略は何ですか?

4

3 に答える 3

1

luceneツールはIndexSplitterの仕事をします。ここで言及されている記事へのリンクを参照してください(日本語、グーグルで翻訳してください...)

于 2012-06-29T20:09:31.763 に答える
0

データを分割するための論理キーを見つけることができれば、それは複数の方法で役立ちます。たとえば。これらのドキュメントを時系列に基づいてシャードに分割することはできますか?

同様の状況があります。作成日に基づいてさまざまなシャードに分割された2億5000万のドキュメントのインデックスがあります。主なユースケースには、作成された日付の範囲に基づいてこれらのシャード全体を検索することが含まれます。したがって、検索は、指定された日付範囲のドキュメントを含むシャードにのみ送信されます。論理的に分割されたデータには他の利点があるかもしれません-例えば。さまざまなキャパシティプランニング、検索用語へのさまざまなサービス品質の適用など。

于 2012-06-29T20:43:51.473 に答える
0

私は別のStackOverflowの質問でこれに答えました。各ドキュメントのIDハッシュに基づいてLuceneインデックスを分割するために私が作成したコマンドラインユーティリティ(ハッシュベースのインデックススプリッター)があります。

于 2012-10-12T10:54:32.607 に答える