elasticsearch 自定义routing
? ? ?由于線上elasticsearch集群數據量越來越大,優化已經已經是重中之重。
? ? ?優化的方式有很多中,網上一大堆,自行百度。
? ? ?優化方案中有個叫routing的方案是個需要熟悉業務日志才能使用。于是我就研究了routing方式。
? ? ?網上有一大堆routing 的方法。但是大部分都是在mapping中加入_routing,required,path等參數工作的,但是我使用后發現有錯誤。如下:?
? ? ?reason":?Mapping definition for [_routing] has unsupported parameters:? [path : category]"
? ? ?查看官網后發現: 原來在es2.0之后就不支持這種方式了。
? ?所以我通過這種方法:
? ? logstash 中指定routing的字段,然后插入到es中,es中不做任何設置。
? ? 下面是我logstash的output部分:? ??
output {
if [type] == "dsq-info" {
elasticsearch {
hosts => ["10.1.0.12:9200"]
index => "%{[fields][index]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
routing => "%{category}"? ?###這里是關鍵字,你選擇使用那個字段做索引。
}
}
}
然后在kifana中指定routing查詢。
GET ****/_search?routing=api? ? ? ###routing指定是字段中具體的值。
?
?
? ??
轉載于:https://www.cnblogs.com/si-jie/p/8093403.html
總結
以上是生活随笔為你收集整理的elasticsearch 自定义routing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 团队冲刺第六天个人博客
- 下一篇: ES6新特性(转)