2013-09-26 62 views
3

我已經完成了lucene.Net中的模糊搜索。在這一點,如果我搜索FeatureFeatureFeaturedfeaturing應該只come.But數據來了,如同基於像venturecultureture在模糊search.My代碼相匹配的文本匹配如何在Lucene.Net中實現適當的模糊搜索?

Query query = new FuzzyQuery(new Term("ContentText", searchString)); 
finalQuery.Add(query, BooleanClause.Occur.SHOULD); 

回答

2

您應該看一下名爲「Lemmatisation」的過程(http://en.wikipedia.org/wiki/Lemmatisation)。您希望根據單詞的基本形式(稱爲引理)來構建索引 - 並且您應該對查詢執行相同的操作。

Lucene支持開箱即用的英語語言,所以不應該有任何問題。

+0

+1 - 一個很好的詞來搜索找到更多有關這是_stemming_。 –

0

您可以傳遞額外的過濾器來檢查minimumscore屬性以及可以提高結果質量的minimumsimilarity屬性。我在特定場景中做的其他事情是使用多種不同的查詢類型,並將結果合併(篩選出低分)並返回組合列表。這對於像引擎這樣的事情非常適用,它可以最初動態地「假設你的意思是......」的結果,而不是問你「你的意思是什麼」。

0

你可能需要設置Parser.FuzzyMinSim