2

Lucene.net を使用して、200 万件の製品のデータベース用の検索エンジンを作成しています。私は を使用してSnowball Analyzerおり、これまでのところ、パフォーマンスと結果セットに非常に感銘を受けています。

克服できないと思われる 1 つの問題は、検索入力で欠落しているスペースを検出することです。

例えば:

ユーザーは「Black Diamond」ブランドの製品を探していますが、「blackdiamond」を検索しています。

Snowball アナライザーはTokensBlack Diamond に対して2 つの個別のデータを作成するため、 0の結果が得られます。

この問題を修正するには、どのような方法がありますか? (n-gram)を少し調べましたが、Shingle Analyzerそれが役立つかどうかはわかりません。

Shingle Analyzerをと組み合わせることは可能ですかSpellChecker(それは効果的な解決策でしょうか)? 「もしかして:ブラックダイヤモンド」で人々に促すことができたらいいのにと思います。これが発生したときにリンクします。

4

1 に答える 1

0

最初にユーザー クエリをそのまま実行し、結果がない (またはスコアが特定のしきい値を下回っている) 場合は、さらに N 回検索を実行します (N は単語を 2 つに分割する可能性の数です)。最高得点を獲得した可能性。

于 2012-10-07T00:06:43.790 に答える