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)
1 つ以上の使用可能なフィールド (fieldA、fieldB) に両方の単語 (hello AND stackoverflow) を含むこれらのドキュメントのみを取得する AND クエリを取得するにはどうすればよいですか?
ありがとう!- PyLucene 4.8.0、Python 2.7 64 ビット