我尝试使用QueryBuilder,但我遇到的问题并不总是需要。
.setQuery(QueryBuilders.boolQuery()
.must(termQuery("country", countryName))
.must(termQuery("Region", regionName))
.must(termQuery("City", city))
.must(rangeQuery("persons").from(persons))
.get();
在上面的示例中,可能并不总是需要城市,但如果我将其留空,则会搜索空城。这仅适用于城市,但我希望以后会有10个以上的字段。 我可以以某种方式有条件地向构建器添加内容,还是有另一种智能方式?
答案 0 :(得分:0)
您可以构建"message": "startup failed:\nScript88.groovy: 1: illegal string body character after dollar sign;\n solution: either escape a literal dollar sign \"\\$5\" or bracket the value expression \"${5}\" @ line 1, column 228.\n elf_reg_ind\",\"2\",\"self_reg_pw\",\"$2a$10$J\n ^\n\n1 error\n",
"Exception-Class": "org.codehaus.groovy.control.MultipleCompilationErrorsException"
,然后将其传递给搜索请求。在构建期间,您可以有条件地将您的语句添加到查询中。它看起来像这样
query