我将json下面的索引编入es。
{
"id":"1234",
"ad":{
"id": "50419957",
"priority": 1
},
"div":["adb", "dfg"],
"startDate": 1533193200000,
"endDate": 1534489199000
}
是否可以单独过滤原始属性(id,startDate,endDate)?
我在json中有超过50个字段。还有许多嵌套对象。我需要过滤掉第一级属性(也只过滤字符串和数字,而不是数组)。
我不能拥有
包含/排除_source
因为还有很多动态字段。
答案 0 :(得分:0)
您可以使用_source
param
e.g。
_source=id
将仅返回所有文档的ID,
你甚至可以做多个领域:
_source=id,startDate,endDate
将返回所有字段的id,startDate和endDate
有关更多信息以及使用查询结构,请参阅文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html
编辑1
没有办法根据类型包含/排除。
但是,如果您需要类型,您可以解析类型的_mapping,请获取所需的数据(在您的案例字符串中以及第一级的长度)并自动执行。