3

Postgres バックエンドを備えた Rails アプリがあります。

レーベンシュタイン距離または他の同様のメトリックに基づくあいまい検索を可能にする全文検索を追加する必要があります。lexer/stemmer は英語以外の単語を処理する必要があるという事実を追加します (英語のエンジンによって無関係と見なされる意味のある単語を含む可能性のあるターゲット言語を台無しにしないために、字句解析時に言語依存の機能をオフにするだけで問題ありません)。 )。

Postgres の tsearch にはあいまい検索がないため、ここでは適用されないと思います。間違っている場合は修正してください。

バックエンドとプラグインの可能な組み合わせは何ですか? インフラストラクチャへの追加が少ないソリューションを優先したいと考えています (たとえば、Postgres がファジー ft を持つことができる場合、外部の Lucene を使用する理由)。OTOH、関連する Rails プラグインの品質も重要です。

あなたは何をお勧めします?

更新:レーベンシュタインよりもむしろn-gramベースのメトリックが必要なようです。

4

3 に答える 3

6

Rails + Postgres + Solr + Sunspot

Solrは Lucene に基づいているため、Lucene のすべての機能を利用できます。Sunspotは、Solr API の優れた Ruby ラッパーです。Sunspot と Solr はどちらも Rails と PostgreSQL でうまく機能します。私はそれを 1 か月ほど前にプロジェクトで使用しました。

于 2009-12-11T20:09:17.440 に答える
3

PostgreSQL にはpg_trgmという拡張機能が付属しています(contrib/ ディレクトリにあります)。私の経験では、遅すぎます (概念実証の実装に似ています) が、アプリケーションでは機能する可能性があります。

于 2009-12-20T06:29:51.260 に答える
0

texticleは、Postgres のベータ版あいまい検索を提供します。

于 2011-03-29T15:58:17.727 に答える