Я пытаюсь изменить оператор по умолчанию для 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 для получения только тех документов, которые содержат ОБА слова (hello AND stackoverflow) в одном или нескольких доступных полях (fieldA, fieldB)?
Спасибо! - PyLucene 4.8.0, Python 2.7 64 бит