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指定是字段中具體的值。

 

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM