0

似たような質問がいくつかあったことは承知していますが、この場合、構築が完了するまでオフラインでインデックスを構築しています。私は最初から 2 つのコアを構築しています。1 つは大量の引用情報と全文の大きなブロック (これはドキュメント インデックス) を含む約 30 万レコードを持ち、もう 1 つのコアは全文 (これはページ インデックス) を含む約 660 万レコードを持ちます。 )。

このインデックスがオフラインで構築されていることを考えると、唯一の実際のパフォーマンスの問題は構築の速度です。誰もこのデータをクエリしてはいけません。

アイテムの追加を 50 秒間停止すると、自動コミットが起動するようです。私はしません。一度に 10 個追加していますが、数秒ごとに追加されます。

では、もっと頻繁にコミットする必要がありますか? 少なくとも 6k ドキュメントのインデックス作成のテスト ケースでは、実行時間が長くなるほど遅くなるように感じます。

誰もこのインデックスを検索していないので、どれくらいの頻度で私がコミットすることを提案しますか?

私は Solr 3.1 と SolrNet を使用しています。

4

2 に答える 2

0

時間がかかっているのはコミットですが、コミット頻度以外の微調整を検討することを検討することをお勧めします。

検索も行うインデックス作成コアですか、それともインデックス作成が終了した後に別の場所に複製されますか? 後者の場合、キャッシュをオフにすると、パフォーマンスに非常に顕著な影響を与える可能性があります (コミットするたびに、solr はキャッシュを再構築します)。

于 2011-04-12T13:23:40.133 に答える
0

Solr の autoCommit または commitWith 機能の使用を検討することもできます。

  • commitWithinは、ドキュメントの追加コマンドの一部として実行されます。これは SolrNet でサポートされていると思います。詳細については、commiWithin 属性スレッドの使用を参照してください。
  • autoCommitは、更新ハンドラー セクションに追加された Solr 構成値です。
于 2011-04-13T00:39:08.767 に答える