在此处输入图像描述我正在对具有 guid 值的字段进行聚合,例如 c4b0c9ae-345c-4247-87e3-e9d9de67c01b,但是当弹性搜索返回聚合时它正在成为一个数组 ["C4B0C9ae","345C","4247","87E3","E9D9DE67C01B"]。你如何在巢上处理这个问题?
该字段已映射为text
数据类型,默认情况下使用标准分析器在索引时进行分析。结果是,GUID 通过拆分连字符来标记化为组成部分。您可以使用分析 API(在 Kibana 控制台中)亲自查看此信息
GET _analyze
{
"analyzer": "standard",
"text": ["c4b0c9ae-345c-4247-87e3-e9d9de67c01b"]
}
收益 率
{
"tokens": [
{
"token": "c4b0c9ae",
"start_offset": 0,
"end_offset": 8,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "345c",
"start_offset": 9,
"end_offset": 13,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "4247",
"start_offset": 14,
"end_offset": 18,
"type": "<NUM>",
"position": 2
},
{
"token": "87e3",
"start_offset": 19,
"end_offset": 23,
"type": "<ALPHANUM>",
"position": 3
},
{
"token": "e9d9de67c01b",
"start_offset": 24,
"end_offset": 36,
"type": "<ALPHANUM>",
"position": 4
}
]
}
你可能不想在索引时分析 GUID,因此应将它们显式映射为关键字数据类型。