文字列間のパーセンテージマッチを見つけるために自分のアプリケーションでSOLRをテストしようとしています。Solr Luceneファジーマッチが間違った結果を返す
私はsolrを設定し、今のところfirst_nameのマッチングのためにスキーマを定義しましたが、私はスキーマ(solr 3.3)でtext_generalデータ型を使用しました。私の文書/ csvファイルで
私は言葉「rushik」を維持し、Solrのクエリで私が「rushk」で検索しようとしています - 意図的に距離は1上記の二つの間の文字列であるレーベンシュタインアルゴリズムで理想的には「I」
を削除したがって、文字列のパーセンテージの一致は、(1 - distance/maxLen(string1、string2))(1 - 1/6)= 0.83である必要があります。つまり、両方の文字列が83%一致します。
しかし、私は〜0.80、0.81などを使用しているときにrushk〜0.79を質問に渡すまでマッチングします。
私のlevenshtein文字列の一致の計算が正しくないかどうか、問題がどこにあるかを正確に判別できるかどうかはわかりません。
ここにお手伝いいただきますようお願い申し上げます。
ありがとう、 Rushik。
ありがとうJayendraしかし、この計算でMAX Lengthを使ってpplが見つかった場所のほとんどは、SOLRがMINでセットアップされている正確な理由を知っていますか? – Rushik
わかりません。ソースを確認することができます@ http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/FuzzyTermsEnum.java – Jayendra