到目前为止,我按照本指南获取了与 elasticsearch 一起使用的原生 java 脚本。使用 . 访问普通的非嵌套字段可以正常工作doc().field("fieldname")
。
嵌套字段也一样吗?如何遍历它们并访问嵌套字段?
编辑:在阅读了下面 imotov 的答案后,我最终使用include_in_root
or将嵌套字段包含在根文档中include_in_parent
(参见docs)。
GeoPoint[] locations = ((GeoPointDocFieldData)doc().field("places.location")).getValues();
for (GeoPoint location : locations) {
// Do Stuff
double lat = location.lat();
double lon = location.lon();
}