2012-04-18 13 views
7

私は索引付けをしている10000行以上の100個のCSVファイルを持っています。そして、スペルを検索することは同様のスペルです。このインデックス作成は非常に遅いです。Soling slow indexing中に

私はいくつかの良いソリューション

マスターインデックスの、スレーブがクエリのために使用されている
  1. マスタースレーブを発見しました。トライレンジhttp://www.lucidimagination.com/blog/2009/05/13/exploring-lucene-and-solrs-trierange-capabilities/

を使用してHow to index records in Solr faster (and not impact ColdFusion web server)? Two JVM?

  • は、私は、これら二つの解決策は、私は高い優先順位でなければなりませんいくつかのコメントを望んでいた異なっている知っていますか? 2番目の解決策は私の問題に合っていますか?そして、私のスペルチェックの問題にもっと多くの解決策があれば。

    ありがとうございます。

  • +0

    あなたは現在何をしているのか正確に記述できますか?どのようにインデックスを作成し、どのようにクエリを実行しますか? – jpountz

    答えて

    8

    インデックスを作成すると、通常はクエリが遅くなります。高速ディスクを使用している場合は、100%のCPUを使用します。それ以外の場合は、100%のディスク帯域幅が使用されます。いずれにしても、クエリは遅くなります。

    マスタ/スレーブ設定はこれの標準的な解決方法です。スレーブサーバーは検索クエリ専用です。遅くなるのは、新しいキャッシュを持つ新しいサーチャーが作成されたときです。

    マスタ/スレーブ構成ではインデックス作成がはるかに高速になることはありませんが、クエリのパフォーマンスが低下することはありません。インデックス作成をマルチスレッド化する作業が行われているため、複数のインデックス作成タスクを一度にテストすることができます。 1つのCPUの100%を使用している場合に限り、ボトルネックがディスクIOである場合にはこれは役に立ちません。

    トライフィールドは範囲クエリに適しています。私は彼らが索引付けのスピードに多くの影響を与えるだろうとは思わない。

    最後に、スペル候補のオプションを調整することができます。スペルの提案は多大な作業になる可能性があり、異なる、より安価なオプションを使って良い結果を得ることができます。

    +0

    完璧な答え!質問は2つのJVMについて話しているので、明確にするだけです。 2つの異なるマシンが必要です。 – fulmicoton