Elasticsearch must+exists查询报错,如何修正以统计符合条件文档数?
Elasticsearch查询错误修正:统计指定company_id且存在location_id的文档数
你的查询触发parsing_exception是因为语法错误——你把term和exists两个查询子句塞进了同一个对象里,而Elasticsearch的bool查询要求must数组的每个元素都是独立的查询子句对象。
修正后的查询代码如下:
query = { "query": { "bool": { "must": [ { "term": { "company_id": "company_id_1234" } }, { "exists": { "field": "location_id" } } ] } } } server.count( body=query, index="index_v1.2.0" )
修正说明
把term和exists拆分为must数组中的两个独立对象,这样Elasticsearch就能正确识别两个条件的逻辑与(同时满足)关系,执行时会统计company_id等于company_id_1234且location_id字段存在的文档数量。
内容的提问来源于stack exchange,提问作者An old man in the sea.
相关产品推荐
相关产品推荐

