【问题标题】:Force Lucene.Net to match all keywords强制 Lucene.Net 匹配所有关键字
【发布时间】:2016-07-20 16:27:00
【问题描述】:

我正在使用Lucene.Net 搜索产品数据库,但是当我搜索“灰色 USB 鼠标”时,系统会返回“USB 鼠标”和“USB 相机”等结果。如何强制 Lucene 匹配所有关键字,并跳过没有所有关键字的产品?我能找到的唯一相关答案是this,但我不太明白。

这是我的代码:

// connect to index
var analyzer = new StandardAnalyzer(Version.LUCENE_30);
var searcher new IndexSearcher(FSDirectory.Open(index_path));

// search and list results
var parser = new QueryParser(Version.LUCENE_30, "title", analyzer);
var query = parser.Parse(search_term);
var results = searcher.Search(query, 100);

【问题讨论】:

    标签: c# .net lucene


    【解决方案1】:

    您可以简单地在搜索词之间使用“AND”关键字来强制 lucene“匹配所有”。

    对于这个查询:

    灰色 USB 鼠标

    在将其传递给 Lucene 之前将其转换为 this:

    灰色和 USB 和鼠标

    参考:Advanced queries with Lucene.NET

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-20
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 2017-12-01
      • 2023-03-26
      相关资源
      最近更新 更多