2012-04-18 39 views
0

我其中我想匹配這樣的情況:Solr的最小匹配定製

查詢:ABCD EFGH IJKL MNOP

這個查詢進行的ngram標記生成器,並且每個字被分成後2克令牌。

如)中的查詢分成,

AB,BC,CD,EF,FG,GH,IJ,JK,KL,MN,不,運

現在同時匹配我想要的用詞語來定製用於標記的最小匹配。

我的意思是,默認情況下,當某個單詞對應的單詞與索引文檔相匹配時,mm = 1,則返回該索引文檔。如果我給mm = 2,那麼來自任何兩個單詞的任何一個標記都需要匹配要被返回的索引文檔。

但我想要的是:只有當任何「m」個令牌都匹配mm = num個詞時才返回一個文檔。

例如)我想從至少3個單詞中選擇至少2個標記來選擇索引文檔。

看來Lucene的IndexSearcher完成了這個核心部分。我是否需要更改代碼或任何其他配置來執行上述操作?

在此先感謝...

回答

1

這不正是你問什麼,但我猜你的潛在的問題是「我怎樣才能確保模糊搜索只返回東西是「親密'到原始查詢?「

語法foo~.8這麼做 - 請參閱the docs。基本上,.8是編輯(Levenstein)距離除以單詞長度的度量。

如果你想堅持你想要計算必須匹配的對的想法,你可以做一些數學計算出最小levenstein距離需要什麼。

+0

太好了。我之前聽說過萊文斯坦的距離。感謝您寶貴的建議。我會仔細看看的。 – sriram 2012-04-19 16:38:52