1.es版本为7.4.2
2.目前需要通过一个nested字段筛选符合条件的数据
mapping简化如下:
现在需要筛选出agreement中符合条件的数据计算出最大的expiration_date然后基于最大expiration_date进行筛选在日期范围内的供应商有哪些,现在问题在于使用script过滤无法使用nested字段,且还会有很多别的条件,如何进行这样的筛选?
2.目前需要通过一个nested字段筛选符合条件的数据
mapping简化如下:
{
"dwd_cr_supplier_business_view1_v1": {
"date_detection": false,
"properties": {
"agreement": {
"type": "nested",
"properties": {
"company_id": {
"type": "long"
},
"creator_id": {
"type": "long"
},
"dept_id": {
"type": "long"
},
"expiration_date": {
"type": "long"
},
"is_long_term": {
"type": "long"
},
"sl_company_id": {
"type": "long"
}
}
},
"supplier_code": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"supplier_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
agreement中存储的为数组形式数据。现在需要筛选出agreement中符合条件的数据计算出最大的expiration_date然后基于最大expiration_date进行筛选在日期范围内的供应商有哪些,现在问题在于使用script过滤无法使用nested字段,且还会有很多别的条件,如何进行这样的筛选?
1 个回复
duanxiaobiao - 90 后IT男
赞同来自:
2.最大的expiration_date?是所有document中满足查询条件的nested数组里的JSON数据的最大值?还是每一个document都会有一个最大值?