elasticsearch - 使用jest api进行elasticsearch的结果带有双引号(“value”),但是我想肯定会得到公正的值(value)

标签 elasticsearch jest

伙计们
我一直在努力处理一些奇怪的事情。我想获取Elasticsearch查询的结果,数据(内部源)。所以这是我的代码的一部分。

SearchResult result = jestClient.execute(search);
    JsonObject json = result.getJsonObject();
    Map<String, String> map = new HashMap<>();


    for (JsonElement jsonElement : json.getAsJsonObject("hits").getAsJsonArray("hits")) {
        JsonObject _source = jsonElement.getAsJsonObject().get("_source").getAsJsonObject();
        String orderNumber = _source.get("orderNumber").toString();
        String equipmentCode = _source.get("equipmentCode").toString();
        map.put(orderNumber, equipmentCode);
    }

事情是orderNumber的值是"ABCDE"。我期望的是ABCDE。 (为了清楚起见,两个String都包含带有值的双引号。。。有趣的是在 Debug模式下显示。

我刚刚检查了_source中的值,它仍然具有String "A"的第一个值...但是orderNumber的第一个值是"""而第二个值是“A” ...我不知道如何解决这个问题还有有人在帮助我吗?

最佳答案

我正在为自己和将要遇到同样问题的个人负责。我应该使用getAsString()而不是toString() ...希望我节省了您的时间

关于elasticsearch - 使用jest api进行elasticsearch的结果带有双引号(“value”),但是我想肯定会得到公正的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46396497/

相关文章:

带短语的 ElasticSearch Bool 过滤器(而不是单个单词/标签)

elasticsearch - 解析内部匹配以及来源

elasticsearch - 如何使用JEST在ElasticSearch中执行RemoveAliasMapping

ruby-on-rails - elasticsearch中的批量数据删除

c# - Elasticsearch Nest客户端未应用提升

bash - 如何通过docker compose或swarm模式运行Elasticsearch并使用命令安装插件

Elasticsearch:如何返回字段中具有最高值的所有文档?

elasticsearch - 浏览所有文档并批量更新其中一些

elasticsearch - WrapperQueryBuilder-aggs查询引发查询格式错误的异常

maven - ElasticSearch:使用Jest Client添加kerberos身份验证