java - ElasticSearch 5.3 SearchHit hit.field

标签 java elasticsearch

我一直在 ES 2.3 中使用此代码,并且运行良好。我正在查询 Elasticsearch 中已加载的数据。我无法在 ES 5.3 中执行此操作。我只是想从加载到 ES 的 300 个字段中获取某些字段的值。我想要的结果不是 JSON,而是“|”划定的。有没有办法对 ES 5.3 做类似的事情?

for( SearchHit hit : response.getHits())
{
 String s0 = hit.field("first_name").getValue().toString();
 result.add(s0);
 String s1 = hit.field("last_name").getValue().toString();
 result.add(s1);
 String s2 ="";
 if(hit.fields().containsKey("middle_name"))
{
 String s2 = hit.field("middle_name").getValue().toString();
 result.add(s2);
}

finalresult = s0 + "|" + s1 + "|" + s2;
}

预先感谢您的帮助

最佳答案

for( SearchHit hit : response.getHits())
            {
                Map<String, Object> map = hit.getSource();
             String s0 = map.get("first_name").toString();
             result.add(s0);
             String s1 = map.get("last_name").toString();
             result.add(s1);
             String s2 ="";
             if(map.containsKey("middle_name"))
            {
             String s2 = map.get("middle_name").toString();
             result.add(s2);
            }

            finalresult = s0 + "|" + s1 + "|" + s2;
            }

关于java - ElasticSearch 5.3 SearchHit hit.field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43623422/

相关文章:

elasticsearch - 使用分析器搜索时如何排除星号

elasticsearch - 匹配项析取

spring-boot - java.lang.RuntimeException:使用本地的Spring Boot容器api时连接被拒绝

java - 在java中将JTree转换为Xml

java - 如何使用 Vavr(以前称为 Javaslang)库捕获特定的运行时异常?

java - 是什么导致我的 ArrayList 出现 NoSuchElementException

java - 如何将字符串传递给 Android 中的布局?

java - 如何借助 php-java 桥将 java.util.Date 传递给 Java 库

c# - 如何将一个not_analyzed字段添加到Elasticsearch中

elasticsearch - 当值很大时,Elasticsearch在聚合中返回错误的总和