我试图让多字段术语方面起作用,但结果似乎无法完成文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets-terms-facet.html#_multi_fields_2)所说的内容。
关于我尝试过的设置和查询:
我使用的是ES 1.1.0:
"name": "William Baker",
"version": {
"number": "1.1.0",
...
}
映射:
{
"index_name": {
"mappings": {
"object": {
"properties": {
"nested_object": {
"type": "nested",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string",
"index": "not_analyzed"
}
}
}
...
}
}
}
}
}
查询JSON:
{
"query": {
"filtered": {
"query": {
"match_all": {}
}
}
},
"facets": {
"test4": {
"terms": {
"fields": ["nested_object.name", "nested_object.id"]
},
"nested": "nested_object"
}
}
}
结果:
"facets": {
"test4": {
"_type": "terms",
"missing": 0,
"total": 26,
"other": 12,
"terms": [
{
"term": "Port Anastasia College",
"count": 3
},
{
"term": "31",
"count": 3
},
{
"term": "Zorahaven College",
"count": 1
},
{
"term": "West Lonzoview College",
"count": 1
},
...
]
}
}
我不明白为什么查询只返回第一个ID,而是作为一个单独的术语,而不是两者的聚合,如文档中所述。
我很欣赏如何让这个多领域方面发挥作用。
感谢。