我如何使用queryBuilders.wrapperQuery base64编码的字符串

时间:2018-11-19 10:38:19

标签: elasticsearch

我有一个json字符串来构建查询,我需要将其转换为QueryBuilder。 (ES版本6.3.0)

我发现我可以使用wrapperQuery方法,所以我写了这段代码:

String str = cond.getFilter().toString();
QueryBuilder filter = QueryBuilders.boolQuery().must(QueryBuilders.wrapperQuery(str));

这些是调试模式下变量的结果:

enter image description here

此方法是正确的,因为文档(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wrapper-query.html)中的解密方法

问题是,此查询无法正常工作。

enter image description here

怎么了?我该怎么办?

任何评论将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

您的JSON格式似乎有误。由于您的ASSET_IP不是数字,因此它必须是JSON表示形式的字符串。因此,您需要按如下所示将其放在JSON中。

{ "ASSET_IP" : "xx.xxx.xxx.xx" }

使用以上内容更新JSON,然后重试。