“Elasticsearch中单个聚合上的多重过滤器”

2024-09-24 00:32:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python客户机上使用elasticsearch。我想过滤同一个聚合桶上的multiples字段。 首先,让我们注入一些数据

curl -XPUT 'localhost:9200/data/document/1' -d '{ "facet1": ["a1","b1"], "facet2":["b2"],"facet3":["a3", "c3"] }'

curl -XPUT 'localhost:9200/data/document/2' -d '{ "facet1": ["a1","c1"], "facet2":["b2", "c2"],"facet3":["a3", "c3"] }'

curl -XPUT 'localhost:9200/data/document/3' -d '{ "facet1": ["a1"], "facet2":["b2"],"facet3":["c3"] }'

那就让我们来质疑吧!在

^{pr2}$

当我运行这个查询时,我得到一个解析错误

TransportError(400, 'parsing_exception', 'Expected [START_OBJECT] under [filter], but got a [START_ARRAY] in [facet1_aggregation]')

Tags: localhostdata客户机a1curlelasticsearchdocumentstart
1条回答
网友
1楼 · 发布于 2024-09-24 00:32:58

快到了。我认为您应该将terms查询的数组放入^{}。在

您得到的错误说明它期望在filter下有一个对象,但是得到了一个数组。在filter中,任何有效的查询都可以执行,查询列表不是有效查询。在

希望有帮助!在

相关问题 更多 >