我将搜索查询传递给Lucene QueryParser.Parse(字符串查询)方法,然后将结果传递给Searcher.Search(查询查询,int n)。
一串:
"system cleaner"
返回1次点击。
一串:
"system clean*"
或:
"system clean\*"
返回0次点击。
如何提供同时使用引用短语和通配符的搜索查询?
答案 0 :(得分:2)
QueryParser不支持。您可以使用SpanQuery
API:
SpanQuery firstwordQuery = new SpanTermQuery(new Term("myField", "system"));
//Unfortunately, Lucene.Net doesn't have SpanMultiTermQueryWrapper...
SpanQuery secondwordQuery = new SpanRegexQuery(new Term("myField", "clean.*"));
SpanQuery[] spanClauses = new SpanQuery[] {firstwordQuery, secondwordQuery};
Query finalQuery = new SpanNearQuery(spanClauses, 0, true);