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

本文关键字:关键字 Lucene Net 强制 | 更新日期: 2023-09-27 17:57:57

我使用Lucene.Net搜索产品数据库,但当我搜索"灰色usb鼠标"时,系统会返回"usb鼠标"answers"usb摄像头"等结果。如何强制Lucene匹配所有关键字,并跳过没有所有关键字的产品?我能找到的唯一相关的答案是这个,但我真的不明白

这是我的代码:

// 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);

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

您可以简单地在搜索词之间使用"AND"关键字来强制lucene"match-all"。

对于此查询:

灰色usb鼠标

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

灰色AND usb AND鼠标

参考:使用Lucene.NET 进行高级查询