我在2个字段上使用MultiFieldQueryParser
在我的Lucene索引上进行自由文本搜索,这很好用。以下是我构建搜索查询的方式:
var searchParser = new MultiFieldQueryParser(_currentLuceneVersion, new[] { _titleField, _bodyField }, _standardAnalyzer);
Query searchQuery = searchParser.Parse(searchText);
我现在添加了一个新字段,它是一个布尔值(1或0作为字符串),我希望我的原始搜索在原始自由文本搜索上做一个布尔过滤器。
我认为必须使用BooleanQuery
完成此操作,然后与原始MultiFieldQueryParser
和新BooleanQuery
结合使用。
这是正确的方法吗?
答案 0 :(得分:1)
'false'值
的QueryFilter示例QueryFilter falseFilter = new QueryFilter(new TermQuery(new Term("BOOL_FIELD", "0")));
searcher.search(query, falseFilter, maxResults);