我们创建了lucene.net索引并根据此网址http://sonyblogpost.blogspot.in/进行搜索。但我们希望输出如下。
示例:如果我搜索“精选” 我想显示相关术语,如“精选”,“特色”,“功能”。
任何人都可以帮助我。 感谢。
答案 0 :(得分:7)
要执行模糊搜索,您需要创建MultiFieldQueryParser
以下是如何执行此操作的示例:
var parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29, new[] { "field1", "field2" }, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29));
您的Lucene.Net版本可能会有所不同。
接下来,您将从解析器获得模糊查询,如下所示:
var query = parser.GetFuzzyQuery("fieldName", "featured", 0.7f);
0.7f
的浮点值是最小相似度。您可以调整此数字,直到获得所需的结果。该数字不能超过1.0f
。使用Lucene Searcher执行此查询将为您提供所期望的结果。
答案 1 :(得分:0)
您可能正在寻找词干:Stemming English words with Lucene - 链接是Java,但您应该能够识别lucene .Net API的相应部分。