强制Lucene.Net匹配所有关键字

时间:2016-07-20 16:27:00

标签: c# .net lucene

我使用Lucene.Net搜索产品数据库,但是当我搜索"灰色usb鼠标"系统返回的结果类似于" usb mouse"和" usb camera"。如何强制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);

1 个答案:

答案 0 :(得分:0)

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

对于此查询:

  

灰色usb鼠标

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

  

灰色和usb和鼠标

参考:Advanced queries with Lucene.NET