我正在尝试更改 MultiFieldQueryParser 的默认运算符:
fields = [...]
query = "hello stackoverflow"
clauses = [BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD, ...]
parser = MultiFieldQueryParser(Version.LUCENE_CURRENT, fields, analyzer)
parser.setDefaultOperator(QueryParserBase.AND_OPERATOR)
query = parser.parse(Version.LUCENE_CURRENT, query, fields, clauses, analyzer)
结果查询是:
(FieldA:hello FieldA:stackoverflow) (FieldB:hello FieldB:stackoverflow)
如何获取 AND 查询以仅检索在一个或多个可用字段(fieldA、fieldB)中包含两个单词(hello AND stackoverflow)的文档?
谢谢!- PyLucene 4.8.0,Python 2.7 64 位