我有一个json字符串来构建查询,我需要将其转换为QueryBuilder。 (ES版本6.3.0)
我发现我可以使用wrapperQuery方法,所以我写了这段代码:
String str = cond.getFilter().toString();
QueryBuilder filter = QueryBuilders.boolQuery().must(QueryBuilders.wrapperQuery(str));
这些是调试模式下变量的结果:
此方法是正确的,因为文档(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wrapper-query.html)中的解密方法
问题是,此查询无法正常工作。
怎么了?我该怎么办?
任何评论将不胜感激。谢谢。
答案 0 :(得分:1)
您的JSON格式似乎有误。由于您的ASSET_IP不是数字,因此它必须是JSON表示形式的字符串。因此,您需要按如下所示将其放在JSON中。
{ "ASSET_IP" : "xx.xxx.xxx.xx" }
使用以上内容更新JSON,然后重试。