【问题标题】:how to do fuzzy search in Lucene.net in asp.net?如何在 asp.net 中的 Lucene.net 中进行模糊搜索?
【发布时间】:2013-09-17 13:28:46
【问题描述】:

我们已经创建了 lucene.net 索引并基于此 URL http://sonyblogpost.blogspot.in/ 进行搜索。但我们希望输出如下所示。

示例:如果我搜索“精选” 我想显示相关术语,如“特色”、“特色”、“特色”。

任何人都可以帮助我。 谢谢。

【问题讨论】:

    标签: c# lucene.net


    【解决方案1】:

    要执行模糊搜索,您将创建一个 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 执行此查询将为您提供您期望的结果。

    【讨论】:

    • 我已经添加了 MultiFueldQueryParser...但是我应该在哪里添加“var query = parser.GetFuzzyQuery("fieldName", "featured", 0.7f);"。以下是我的搜索和查询..... public BooleanQuery QueryMaker(string searchString, string[] searchfields) { var parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29, searchfields, new StandardAnalyzer(Lucene.Net .Util.Version.LUCENE_29)); var finalQuery = new BooleanQuery();字符串搜索文本; searchText = searchString.Replace("+", "");
    • 创建 MultiFieldQueryParser 之后。然后,您将像这样将查询添加到您的 finalQuery finalQuery.Add(query, BooleanClause.Occur.SHOULD);
    • 嗨,我添加了这些。但没有发生任何模糊搜索..我的代码如下。 var parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29, searchfields, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29)); var finalQuery = new BooleanQuery(); var query = parser.GetFuzzyQuery("ContentText", searchString, 0.7f); // ContentText 是列名。 searchString 是输入字符串。 finalQuery.Add(query, BooleanClause.Occur.SHOULD);
    • 这是我的最终答案。查询 query = new FuzzyQuery(new Term("ContentText", searchString)); finalQuery.Add(query, BooleanClause.Occur.SHOULD);
    【解决方案2】:

    您可能正在寻找词干:Stemming English words with Lucene - 链接是 Java,但您应该能够识别 lucene .Net API 的相应部分。

    【讨论】:

      猜你喜欢
      • 2011-05-02
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 2018-03-13
      相关资源
      最近更新 更多