内容简介:最近在搞公司的 Elasticsearch 弄的頭昏眼花,主要希望換掉舊的 Elasticsearch,但是在過程中踩了一堆坑 …這次遇到的問題是在 Logstash filter 切出來的 field 在 Kibana 上面都沒有 sort,但是舊版 Kibana 3.x 不用特別處理就可以有 sort 的功能。花了一個早上 Google 找了一堆文件發現 Elasticsearch 在 5.x 的時候就棄用 string 改成 text,所以在 Kibana 上預設的 template 用
最近在搞公司的 Elasticsearch 弄的頭昏眼花,主要希望換掉舊的 Elasticsearch,但是在過程中踩了一堆坑 …
這次遇到的問題是在 Logstash filter 切出來的 field 在 Kibana 上面都沒有 sort,但是舊版 Kibana 3.x 不用特別處理就可以有 sort 的功能。
正常狀況下,會有箭頭可以讓你 sort 排序,但是 Logstash 切出來的 field sort 箭頭卻不見了
花了一個早上 Google 找了一堆文件發現 Elasticsearch 在 5.x 的時候就棄用 string 改成 text,所以在 Kibana 上預設的 template 用 match_mapping_type 把 送來的 string 轉成 text 格式 …
GET _template/
{
"mappings": {
"_default_": {
"dynamic_templates": [
{
"message_field": {
"path_match": "message",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false
}
}
},
{
"string_fields": {
"match": "logstash-*",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
]
}
}
在上面可以看到當 index 符合預設的 logstash-* 時,只要 type 為 string 就會被 match_mapping_type 轉成 text,但 field.keyword 為了要讓你可以 Query 所以 Data type 不是 text。
然後 Elasticsearch 6.x 開始 text 就不允許 sort,所以導致我從 Logstash 切出來的 field 都變成 text 進而不能 sort。
要解決可以直接修改 template 讓 string 進來不是轉成 text,而是 keyword (或其他 Data type)
PUT _template/defaultKeyword
{
"defaultKeyword": {
"order": 0,
"index_patterns": [
"*"
],
"settings": {
"index": {
"refresh_interval": "5s"
}
},
"mappings": {
"_default_": {
"dynamic_templates": [
{
"message_field": {
"path_match": "message",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false
}
}
},
{
"string_fields": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "keyword",
"norms": false,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"@version": {
"type": "keyword"
},
"geoip": {
"dynamic": true,
"properties": {
"ip": {
"type": "ip"
},
"location": {
"type": "geo_point"
},
"latitude": {
"type": "half_float"
},
"longitude": {
"type": "half_float"
}
}
}
}
}
}
}
}
index_patterns 要特別注意是否有符合你的 index name,最後 rebuild index 就會生效新的 data type 囉。
參考資料:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
一本书读懂24种互联网思维
安杰 / 台海出版社 / 2015-3-1 / 39.80元
互联网思维已经不再局限于互联网,与当初人类史上的“文艺复兴”一样,这种思维的核心即将开始扩散开去,对整个大时代造成深远的影响。本书是深入研究互联网思维的精华之作,作者深入浅出地集中阐述了24种互联网思维的内核与精神,并结合实例对这24种互联网思维逐一进行了点评。对于个人与企业如何抓住互联网思维背后正喷薄而出的工作、生活、商业上的大革新与大机遇,如何在互联网思维下进行运作,如何运用互联网思维进行升级......一起来看看 《一本书读懂24种互联网思维》 这本书的介绍吧!