查询数据解析
source查询
-
source 过滤
# source 过滤 String[] includeFields = new String[] {"test1", "test2"}; String[] excludeFields = new String[] {"test1", "test2"}; sourceBuilder.fetchSource(includeFields, excludeFields); -
source不需要过滤,返回所有字段 无需配置
-
source关闭
sourceBuilder.fetchSource(false)
source获取数据
String sourceStr = oneHit.getSourceAsString();
JSONObject json = new JSONObject(sourceStr);
Map<String Object> map = oneHit.getSourceAsMap();
doc value查询
- 增加需要返回的字段:包括字段名 + 格式化
- use_field_mapping:use format from the mapping
- epoch_millis:
- date类型支持多种格式:www.elastic.co/guide/en/el…
sourceBuilder.docValueField(field, "use_field_mapping"); - DDL
GET /_search { "query" : { "match_all": {} }, "docvalue_fields" : [ { "field": "my_ip_field", "format": "use_field_mapping" }, { "field": "my_date_field", "format": "epoch_millis" } ] }
doc value获取数据
Map<String, DocumentField> map = oneHit.getFields();
DocumentField module = map.get("module");
spanInfo.setModule(module == null ? "" : module.getValue());
参考官方文档 www.elastic.co/guide/en/el… www.elastic.co/guide/en/el…