我正在寻找一种方法来查询单个查询中许多对象字段的前n个值的分布
我在弹性搜索中的对象如下:
obj: {
os: "Android",
device_model: "Samsung Galaxy S II (GT-I9100)",
device_brand: "Samsung",
os_version: "Android-2.3",
country: "BR",
interests: [1,2,3],
behavioral_segment: ["sport", "lifestyle"]
}
以下查询仅为英国用户带来特定字段值的分布以及此值的出现次数
curl -XPOST http://<endpoint>/profiles/_search?search_type=count -d '
{
"query": {
"match": {
"country" : "UK"
}
},
"facets": {
"ItemsPerCategoryCount": {
"terms": {
"field": "behavioral_segment"
}
}
}
}'
如何查询多个字段 - 例如,我想在单个查询中获得behavioral_segment和device_brand和os的结果。有可能吗?
答案 0 :(得分:1)
在查询的facets部分,您应该使用fields
参数。
"facets": {
"ItemsPerCategoryCount": {
"terms": {
"fields": ["behavioral_segment","device_brand"]
}
}
}
这应该可以解决您的问题,但当然可能无法保证数据的连贯性