我使用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);
答案 0 :(得分:0)
您可以在搜索字词之间使用“AND”关键字来强制lucene“匹配所有”。
对于此查询:
灰色usb鼠标
在将其传递给Lucene之前将其转换为此:
灰色和usb和鼠标