Kibana 和 _source 字段,Elastic 版本 6.7
Kibana and the _source field, Elastic Version 6.7
我想要一个基于我的索引的简单饼图。然而,结果中的字段似乎嵌入在 _source 字段中,不能在 Kibana 中的 Terms 聚合中使用。
示例结果如下所示:
现在,如果我禁用映射中的 _source 字段:
我没有得到任何字段:
但是,Kibana Discover 页面列出了可用字段,ES 结果永远不会返回这些字段 - 当启用了 _source 时。
Index Mapping如下图:
{
"settings": {
"analysis": {
"filter": {
"filter_stemmer": {
"type": "stemmer",
"language": "english"
}
},
"analyzer": {
"tags_analyzer": {
"type": "custom",
"filter": [
"standard",
"lowercase",
"filter_stemmer"
],
"tokenizer": "standard"
}
}
}
},
"mappings": {
"schemav1": {
"properties": {
"user_id": {
"type": "text"
},
"technician_query": {
"analyzer": "tags_analyzer",
"type": "text"
},
"staffer_queries": {
"analyzer": "tags_analyzer",
"type": "text"
},
"status":{
"type":"text"
}
}
}
}
}
好的,原因很简单,为了在聚合中使用您的字段,您需要有一个 keyword
版本。您不能汇总 text
个字段。
将您的映射转换为:
"mappings": {
"schemav1": {
"properties": {
"user_id": {
"type": "keyword"
},
"technician_query": {
"analyzer": "tags_analyzer",
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
},
"staffer_queries": {
"analyzer": "tags_analyzer",
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
},
"status":{
"type":"keyword"
}
}
}
}
因此,user_id
和status
现在是keyword
,technician_query.raw
和staffer_queries.raw
也是`关键字字段,您可以在术语聚合中使用它们,因此在饼图中也是如此。
我想要一个基于我的索引的简单饼图。然而,结果中的字段似乎嵌入在 _source 字段中,不能在 Kibana 中的 Terms 聚合中使用。
示例结果如下所示:
现在,如果我禁用映射中的 _source 字段:
我没有得到任何字段:
但是,Kibana Discover 页面列出了可用字段,ES 结果永远不会返回这些字段 - 当启用了 _source 时。
Index Mapping如下图:
{
"settings": {
"analysis": {
"filter": {
"filter_stemmer": {
"type": "stemmer",
"language": "english"
}
},
"analyzer": {
"tags_analyzer": {
"type": "custom",
"filter": [
"standard",
"lowercase",
"filter_stemmer"
],
"tokenizer": "standard"
}
}
}
},
"mappings": {
"schemav1": {
"properties": {
"user_id": {
"type": "text"
},
"technician_query": {
"analyzer": "tags_analyzer",
"type": "text"
},
"staffer_queries": {
"analyzer": "tags_analyzer",
"type": "text"
},
"status":{
"type":"text"
}
}
}
}
}
好的,原因很简单,为了在聚合中使用您的字段,您需要有一个 keyword
版本。您不能汇总 text
个字段。
将您的映射转换为:
"mappings": {
"schemav1": {
"properties": {
"user_id": {
"type": "keyword"
},
"technician_query": {
"analyzer": "tags_analyzer",
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
},
"staffer_queries": {
"analyzer": "tags_analyzer",
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
},
"status":{
"type":"keyword"
}
}
}
}
因此,user_id
和status
现在是keyword
,technician_query.raw
和staffer_queries.raw
也是`关键字字段,您可以在术语聚合中使用它们,因此在饼图中也是如此。