0

ブールクエリをプログラムで作成します。このような:

    BooleanQuery query = new BooleanQuery();
    for (Iterator<String> it = guids.iterator(); it.hasNext();) {
        String guid = it.next();
        query.add(new BooleanClause(
                  new TermQuery(
                       new Term("guid",guid)
                               ),
                  BooleanClause.Occur.SHOULD));
    }

次に、パーサーから返します。私が設定したパーサーで

parser.setDefaultOperator(QueryParser.Operator.AND);

問題は、まだ次のようなクエリを返すことです

guid:dafafafa guid:dadafafaf

デフォルトの演算子を使用すると、次のことを意味します。

guid:dafafafa AND guid:dadafafaf

しかし、私が欲しいのは:

guid:dafafafa OR guid:dadafafaf

クエリパーサーがデフォルト演算子の調整を行わないのはなぜですか????

4

1 に答える 1