Lucene-将多字段查询与布尔查询相结合
本文关键字:查询 相结合 布尔 字段 Lucene- | 更新日期: 2023-09-27 18:22:01
我正在Lucene索引上使用MultiFieldQueryParser
对2个字段进行免费文本搜索,这很好。以下是我如何构建搜索查询:
var searchParser = new MultiFieldQueryParser(_currentLuceneVersion, new[] { _titleField, _bodyField }, _standardAnalyzer);
Query searchQuery = searchParser.Parse(searchText);
我现在添加了一个新字段,它是一个布尔值(1或0作为字符串),我希望我的原始搜索对原始自由文本搜索进行布尔值过滤。
我认为这必须使用BooleanQuery
,然后与原始MultiFieldQueryParser
和新BooleanQuery
进行组合。
这样做对吗?
"false"值的QueryFilter示例
QueryFilter falseFilter = new QueryFilter(new TermQuery(new Term("BOOL_FIELD", "0")));
searcher.search(query, falseFilter, maxResults);