5

Sphinx を使用して Web 検索を実行していますが、インデックスの作成中に次のエラー メッセージが表示されます。

警告: sort_hits: merge_block_size=76 kb が低すぎます。mem_limit を増やすとパフォーマンスが向上する可能性があります

問題は、この設定が構成されている場所に関するドキュメントが見つからないことです。私はSphinxのセットアップにある程度精通しているので、設定がどこで構成されているかを知る必要があります。

4

2 に答える 2

5

これは、一度にインデックスを作成しようとしている項目が多すぎるために発生している可能性があります。範囲指定クエリを使用していることを確認してください。範囲指定されたクエリを既に使用しているmem_limit場合は、示されているように を増やすと役立つ場合があります。はドキュメントの数にmerge_block_size基づいています。mem_limit

その数値がどのように生成されるかについて興味がある場合は、ソースをチェックしてください。無料で利用できます。

于 2008-12-31T18:30:01.383 に答える
3

sphinx.conf で:

sql_query_range   = SELECT MIN(id),MAX(id) FROM documents
sql_range_step = 1000
sql_query = SELECT * FROM documents WHERE id>=$start AND id<=$end

テーブルに 1 から 2345 までのドキュメント ID が含まれている場合、sql_query は 3 回実行されます。

  1. $start を 1 に、$end を 1000 に置き換えます。
  2. $start を 1001 に、$end を 2000 に置き換えます。
  3. $start は 2000 に置き換えられ、$end は 2345 に置き換えられます。

明らかに、2000 行のテーブルではそれほど違いはありませんが、1,000 万行の MyISAM テーブルのインデックス作成に関しては、範囲指定クエリが役立つ場合があります。

http://sphinxsearch.com/docs/current.html#ranged-queries

それがうまくいくことを願っています。

于 2011-04-01T15:14:52.950 に答える