0

パフォーマンス上の理由から、私は最近、postgres http://www.postgresql.org/docs/8.4/static/pgtrgm.htmlの類似関数の代わりに sphinx を選択しました。

ただし、すぐに使用できる sphinx は、類似度関数のようには動作しません。

完全な単語(私の場合は住所)のみに一致するようです。

「Main South Rd」、「Field St」、「Olive Av」などのキーワードでは結果が得られません

SPH_MATCH_ANY を有効にしようとしましたが、postgres の類似性により、より良い結果が得られます。

4

1 に答える 1

1

略語に対処するには、ワードフォームを使用できます。そのため、短い形式は長い形式と一致します。

http://sphinxsearch.googlecode.com/svn/trunk/misc/suggest/もあり 、トリグラムを使用してあいまい一致を取得する例です。

さらに助けが必要な場合は、より完全な例を示すことを提案してください。うまく機能しないクエリと、照合するものについて。

(すべてのドキュメントをループして、similarity() 関数を使用し、最適な一致を取得していると思います。すべてのドキュメントをチェックする総当たり攻撃です。Sphinx はインデックスを使用しています (これが高速な理由です)。ただし、すべてのクエリがそうであるとは限りません)。このタイプのセットアップに適しています)

于 2012-05-21T13:50:49.423 に答える