gpt4 book ai didi

java - 为一个字段中的多个值构建 Lucene 查询

转载 作者:行者123 更新时间:2023-12-02 09:58:10 24 4
gpt4 key购买 nike

我有一个字段和多个值,我正在尝试构建一个简单的查询,应如下所示

field:(value1 value2 value3)

我有一个包含字段和值的 map ,我正在做这样的事情

fieldsMap 
"field1" -> "[data1]"
"field2" -> "[value1,value2,value3]"

构建 lucene 查询的代码:

fieldsMap
.entrySet()
.forEach(field -> {
try {
QueryParser queryParser = new ComplexPhraseQueryParser(field.getKey(), new StandardAnalyzer());
booleanQueryBuilder.add(queryParser.parse(QueryParser.escape(field.getValue())), BooleanClause.Occur.MUST);
} catch (ParseException e) {
e.printStackTrace();
}
});

生成的输出:

+field1:data1 +(field2:val1 field2:val2 field2:val3)

但是我怎样才能生成这样的东西

+field1:data1 +field2:(value1 value2 value3)

最佳答案

你已经这么做了。 +field1:data1 +(field2:val1 field2:val2 field2:val3) 相当于 +field1:data1 +field2:(val1 val2 val3)

关于java - 为一个字段中的多个值构建 Lucene 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55841110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com