Java ElasticSearch 5.3 SearchHit.field
我一直在ES2.3中使用这段代码,效果很好。我正在查询弹性搜索中已加载的数据。在ES 5.3中,我无法做到这一点。我只是想从加载到ES中的300个字段中获取某些字段的值。我希望结果以“|”分隔,而不是JSON。有没有一种方法可以与ES 5.3进行类似的操作Java ElasticSearch 5.3 SearchHit.field,java,
elasticsearch,Java,
elasticsearch,我一直在ES2.3中使用这段代码,效果很好。我正在查询弹性搜索中已加载的数据。在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);
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;
}
提前感谢您对(SearchHit:response.getHits()的帮助
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;
}
{
Map Map=hit.getSource();
字符串s0=map.get(“first_name”).toString();
结果。添加(s0);
字符串s1=map.get(“姓氏”).toString();
结果:添加(s1);
字符串s2=“”;
if(地图容器(“中间名称”))
{
字符串s2=map.get(“middle_name”).toString();
结果:添加(s2);
}
最终结果=s0+“|”+s1+“|”+s2;
}
在ES 5.3中执行此操作时,您是否遇到任何异常?