我有一個索引映射與兩個字符串字段,field1
和field2
,都被聲明爲copy_to到另一個字段稱爲all_fields
。 all_fields
被索引爲「not_analyzed」。elasticsearch copy_to字段行爲不像聚合預期
當我在all_fields
上創建存儲桶聚合時,我期待將field1和field2的鍵連接在一起的不同存儲桶。取而代之的是,我使用field1和field2的鍵未分開的單獨桶。
實施例: 映射:在
{
"mappings": {
"myobject": {
"properties": {
"field1": {
"type": "string",
"index": "analyzed",
"copy_to": "all_fields"
},
"field2": {
"type": "string",
"index": "analyzed",
"copy_to": "all_fields"
},
"all_fields": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
數據:
{
"field1": "dinner carrot potato broccoli",
"field2": "something here",
}
和
{
"field1": "fish chicken something",
"field2": "dinner",
}
聚合:
{
"aggs": {
"t": {
"terms": {
"field": "all_fields"
}
}
}
}
結果:
...
"aggregations": {
"t": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "dinner",
"doc_count": 1
},
{
"key": "dinner carrot potato broccoli",
"doc_count": 1
},
{
"key": "fish chicken something",
"doc_count": 1
},
{
"key": "something here",
"doc_count": 1
}
]
}
}
我所期待的只有2桶,fish chicken somethingdinner
和dinner carrot potato broccolisomethinghere
我在做什麼錯?