我在elasticsearch中有一个字段名称为" smartaccountname"。它包含空格。在执行聚合函数(如术语,基数)时,它不会将整个字符串视为单个字符串。它将字符串拆分为两个。 例如, 的基数:
"aggregations": {
"1": {
"value": 2
}
应该是1.
术语
"aggregations": {
"1": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "FIRE",
"doc_count": 2
}
,
{
"key": "DEVICES",
"doc_count": 2
}
]
}
}
它应该是FIRE DEVICES:2
字段结构
**smartaccountname**
FIRE DEVICES
FIRE DEVICES
答案 0 :(得分:0)
根据该字段的映射,您需要更改它并向其添加子字段,或者使用已存在的子字段。
基本上,您对该字段的映射应与此类似:
"smartaccountname": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
然后,在您的汇总中,您应该使用smartaccountname.keyword
字段:
"cardinality" : {
"field" : "smartaccountname.keyword"
}