2011-08-05 117 views
8

solrインデックスを最適化する方法。 solrconfig.xmlでsolrのインデックスを最適化したいのですが、solrconfig.xmlでインデックスを作成しようとしましたが、最適化されていることと、インデックスの最適化にどのようなものが関係しているかを確認する方法が必要です。solrインデックスを最適化する方法

答えて

2

インデックスを最適化する方法はいくつかあります。 あなたはSolrの基本的なスクリプトのいずれ引き起こす可能性:新しいデータを追加しながら、あなたはまた、(フル)インポートでoptimize=trueを設定したりでき http://wiki.apache.org/solr/SolrOperationsTools#optimize

。 ...または単にたぶんまた、これはあなたのニーズに面白いかもしれoptimize=true

にコミットトリガー: http://wiki.apache.org/solr/UpdateXmlMessages#A.22commit.22_and_.22optimize.22

0

あなたは、インデックスの最適化を行う変更は、単にカスタムインデクサを書いて、追加どのくらいのテストのためにランダムに生成されたコンテンツ。多数の文書(500.000または1.000.000)を追加し、所要時間を測定します。

上記の記事に続いて、私は自分自身にカスタムインデクサーを作って、ドキュメントのインデックス作成にかかる時間を80%短縮するように調整しました。

13

これは、Solrインデックスを最適化する最も簡単な方法であることがわかりました。私の文脈では、「最適化」はすべてのインデックスセグメントをマージすることを意味します。

curl http://localhost:8983/solr/<core_name>/update -F stream.body=' <optimize />' 
+1

しかし、これは、このコマンドを実行した後、任意のステータスを返しdoesnot。私は私の管理ページに変更が見られません。 cmdがスタックされています – Milee

7

開始する前にそれぞれのコアのサイズを確認してください。

オープンターミナル1:

watch -n 10 "du -sh /path to core/data/*" 

開き、ターミナル2と実行します。代わりに "コア" の

curl http://hostname:8980/solr/<core>/update?optimize=true 

を、コアのあなたのそれぞれの名前を更新します。

コアのサイズが索引データのサイズの約2倍になると、急激に減少することがわかります。これはあなたのsolrデータに依存して時間がかかります。

たとえば、50Gのインデックス付きデータスパイクは90Gに近く、最適化された25Gデータに低下します。通常、このデータ量は30〜45分かかります。

Why doesn't my index directory get smaller (immediately) when i delete documents? force a merge? optimize?

関連する問題