Lucene - 将多字段查询与布尔查询相结合

时间:2012-02-01 09:57:38

标签: c# java lucene.net

我在2个字段上使用MultiFieldQueryParser在我的Lucene索引上进行自由文本搜索,这很好用。以下是我构建搜索查询的方式:

var searchParser = new MultiFieldQueryParser(_currentLuceneVersion, new[] { _titleField, _bodyField }, _standardAnalyzer);
Query searchQuery = searchParser.Parse(searchText);

我现在添加了一个新字段,它是一个布尔值(1或0作为字符串),我希望我的原始搜索在原始自由文本搜索上做一个布尔过滤器。

我认为必须使用BooleanQuery完成此操作,然后与原始MultiFieldQueryParser和新BooleanQuery结合使用。

这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

'false'值

的QueryFilter示例
QueryFilter falseFilter = new QueryFilter(new TermQuery(new Term("BOOL_FIELD", "0")));
searcher.search(query, falseFilter, maxResults);