我有一个包含产品的elasticsearch索引,可以查询不同的搜索词。每个产品都包含一个字段
shop_id
来引用它所属的商店。现在我想显示一个包含所有持有查询产品的商店列表(按商店过滤)。根据类似问题的阅读,我需要使用聚合。最终,我构建了这个查询:curl -XGET 'http://localhost:9200/searchindex/_search?search_type=count&pretty=true' -d '{
"query" : {
"match" : {
"_all" : "playstation"
}
},
"aggregations": {
"shops_count": {
"terms": {
"field": "shop_id"
}
}
}
}'
这应该搜索playstation
并基于shop_id
聚合结果。不幸的是,它只返回了
数据过大,数据将大于[8534150348]字节的限制。
我还尝试了只返回2个结果的查询。 索引包含超过9000万个产品。