我正在使用以下命令运行lucene查询:
var searchCriteria = searcher.CreateSearchCriteria(BooleanOperation.Or);
var query = searchCriteria.GroupedOr(new string[] { "title", "Name" }, searchTerm).Compile();
如果searchTerm =“供应商服务卡”
生成的查询=(标题:“服务?卡供应商”名称:“服务?卡供应商”)
为什么“For”被替换为“?”。
答案 0 :(得分:0)
“for”是Lucene StandardAnalyzer中的停用词(请参阅StopFilter)。这个词被认为足够普遍,而且对于搜索来说相当无用。我相信,大多数是连词,代词和介词。因此,它从索引术语和搜索查询中删除。
这可以防止“for”,“the”等词语对大量毫无意义的比赛进行严厉打击。