0

我正在使用以下内容来运行 lucene 查询:

var searchCriteria = searcher.CreateSearchCriteria(BooleanOperation.Or);

var query = searchCriteria.GroupedOr(new string[] { "title", "Name" }, searchTerm).Compile();

如果 searchTerm = "供应商服务卡"

生成的查询=(标题:“服务?卡供应商”名称:“服务?卡供应商”)

为什么用“?”代替“For”。

4

1 回答 1

0

“for”是Lucene的StandardAnalyzer中的停用词(请参阅StopFilter)。这是一个被认为足够常见的词,并且对于搜索毫无用处。我相信主要是一些连词、代词和介词。因此,它被排除在索引词和搜索查询之外。

这可以防止诸如“for”“the”“it”等词在大量无意义的比赛中对得分造成严重破坏。

于 2013-01-30T17:38:17.297 回答