【发布时间】:2022-01-01 02:42:45
【问题描述】:
我正在使用 RestHighLevelClient,但遇到了一些麻烦。
从前端,我会收到一个这样的 json 字符串:
{"query":{"term":{"something.keyword":"something"}}}
我需要将该字符串添加到 SearchRequest,或者更好的是,从上面的 json 创建一个 SearchRequest
如何在不创建解析器并以编程方式创建 QueryBuilder 以添加到 searchRequest 的情况下做到这一点?
编辑: 我已经尝试过包装查询,但是执行了这个查询:
{
"query": {
"wrapper": {
"query": "eyJxdWVyeSI6eyJ0ZXJtIjp7ImV2ZW50LmtpbmQua2V5d29yZCI6ImV2ZW50In19fSA="
}
}
}
我有这样的回应:
{
"error" : {
"root_cause" : [
{
"type" : "parsing_exception",
"reason" : "unknown query [query]",
"line" : 1,
"col" : 10
}
],
"type" : "parsing_exception",
"reason" : "unknown query [query]",
"line" : 1,
"col" : 10,
"caused_by" : {
"type" : "named_object_not_found_exception",
"reason" : "[1:10] unknown field [query]"
}
},
"status" : 400
}
编辑 2:
抱歉,包装器工作得非常完美!我不得不从字符串中删除“查询”,这是我的错。
【问题讨论】:
-
wrapperquery 有帮助吗?
标签: java elasticsearch