2012-04-18 51 views
0

は、私は私のローカルマシン上でのSolrのインスタンスを持っていると私は私のブラウザで管理インターフェイス経由でアクセスしています。 Solrのインスタンスは非ファジー検索のために正しく動作しています(私は毎日広く使用しています)。データベース内Solrの:完全一致検索に戻り、正しい結果一致したが、ファジィ返さない試合

1つのレコードはforenameフィールドバーナビーと姓フィールドドーソンと自分自身です。もう一つの記録は、適切な姓と名字フィールドを持つMarcus Downingです。ここの大文字は正確に書かれています。データベースには姓ダウニング、姓ダウソンには同様の数字を持つ他の十数人以上の人がいる。私が興味を持ってすべてのレコードにはfalseに設定されている別のフィールドIsHistoricalがあります。

ここで私はマッチ(正確と不正確)の大まかな数で実行した検索があります。

IsHistorical:偽と姓:多くが正確であるの

多くの試合を撃墜。

IsHistorical:偽と姓:ドーソン

多くの試合はそのほとんどが正確です。

IsHistorical:偽と姓:ダウニング〜

多くの試合正確ですそのなし。

IsHistorical:偽と姓:正確なその多くドーソン〜

多くの試合

IsHistorical:偽とForename:バーナビーと姓:ドーソン〜

1つの一致が正しい結果です

IsHistorical:偽とForename:マーカスと姓:ダウニングは〜

ありませんが、私は姓とforename上の最初の文字の大文字と小文字のすべての組み合わせで、最後の2回の検索を実行したすべての

で一致し、結果に差は見られなかった。私はページによって返された行の数が返されたすべての結果を見るのに十分な大きさであることを保証しました。クエリーは手入力です。

私の質問は:なぜあいまい検索修飾子は、「ドーソン」を検索するときに「撃墜」の検索ではなく、ときに私は完全一致を得て停止していますか?

私の究極の目的は、ファジーな方法でforenameと姓を含む複数のフィールドに一致するクエリを作成することです。

答えて

2

私の仮定は、あなたがフィールドのスキーマ、およびダウンになっダウニングにフィルタを派生しているということです。

ファジーオンダウンはこのような結果をもたらします。私はあなたがこのフィールドのステミングフィルタを削除するのが最善だと思います。

+1

ありがとうございました!私はステミングを止めて、これで問題は解決しました。これを読んだ人の利益のために、ステミングフィルタファクトリには明白な名前がないことに注意してください。それらは "EnglishPorterFilterFactory"、 "SnowballPorterFilterFactory"、 "PorterStemFilterFactory"、 "KStem"を含んでいます。 –

関連する問題