0

フレーズの結果を返す全文検索エンジンを構築しています。

(a) PHP を使用して SPHINX で SPH_MATCH_PHRASE のみを使用してフレーズを一致させようとしています。問題は、たとえば「これはフレーズです」を検索すると、「これはフレーズです」、「フレーズ」、「これは a」、「これは」、「フレーズ」などに関連する結果も生成されることです。結果を完全なフレーズのみに制限する方法はありますか?

私が試したこと: S/O を検索して、How to query Sphinx for an exact matching phrase? を見つけました。検索クエリを引用符で囲むことを提案します。試してみましたが、検索語に追加すると検索結果がゼロになりました。

(b) SPHINX を使用するのは初めてで、Linux の経験はほとんどありませんが、Linux VPS で起動して実行することができました。インデクサー サービスを開始しましたが、間隔を置いてすべて自動的に再インデックス化する方法がわかりません。これは SPHINX 構成ですか、それとも Linux コマンドですか?

私が試したこと:上記の(b)のS / Oを検索してこれを見つけましたが、Ruby on Railsはスフィンクスの自動インデックスを考えているため、役に立ちませんでした。

ありがとう

4

2 に答える 2

1

検索クエリを引用符で囲むことを提案します。

はい。それは拡張マッチモードで使用するためのものです。SPH_MATCH_EXTENDED

PHP で $cl->setMatchMode() を正しく使用していることを確認してください。

間隔を置いてすべて自動的にインデックスを再作成する方法がわかりません。

クロン。状況に合った間隔でインデクサー プログラムを呼び出すように crontab ジョブをセットアップします。

于 2013-02-20T14:20:34.723 に答える
0

上記の受け入れられた回答にあるBaryhunterの多くのリンクとヒントは、有用であることが証明されました. これは、後で誰かがこれを必要とする場合に備えて、インデックス作成の部分を行いました。

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf && /usr/local/sphinx/bin/searchd --rotate --config /usr/local/sphinx/etc/sphinx.conf
于 2013-02-20T16:05:54.490 に答える