我有一个用于构建查询的json字符串,我需要将其转换为QueryBuilder。 (ES版本6.3.0)
我发现可以使用wrapperQuery方法,因此编写了以下代码:
String str = cond.getFilter().toString();
QueryBuilder filter = QueryBuilders.boolQuery().must(QueryBuilders.wrapperQuery(str));
这些是 Debug模式下变量的结果:
这种方法是正确的,因为Docs(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wrapper-query.html)中的解密
问题是该查询无法正常工作。
有什么问题,我该怎么办?
任何意见,将不胜感激。谢谢。
最佳答案
您的JSON格式似乎有误。由于您的ASSET_IP不是数字,因此它必须是JSON表示形式的字符串。因此,您需要将其如下所示放入JSON中。
{ "ASSET_IP" : "xx.xxx.xxx.xx" }
使用上面的内容更新您的JSON,然后重试。
关于elasticsearch - 我如何使用queryBuilders.wrapperQuery base64编码的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53372805/