elasticsearch 自定義routing

     因爲線上elasticsearch集羣數據量愈來愈大,優化已經已是重中之重。api

     優化的方式有不少中,網上一大堆,自行百度。app

     優化方案中有個叫routing的方案是個須要熟悉業務日誌才能使用。因而我就研究了routing方式。elasticsearch

     網上有一大堆routing 的方法。可是大部分都是在mapping中加入_routing,required,path等參數工做的,可是我使用後發現有錯誤。以下: 優化

     reason": Mapping definition for [_routing] has unsupported parameters:  [path : category]"ui

     查看官網後發現: 原來在es2.0以後就不支持這種方式了。日誌

   因此我經過這種方法:索引

    logstash 中指定routing的字段,而後插入到es中,es中不作任何設置。it

    下面是我logstash的output部分:    io

  output {
  if [type] == "dsq-info" {
    elasticsearch {
    hosts => ["10.1.0.12:9200"]
    index => "%{[fields][index]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
    routing => "%{category}"   ###這裏是關鍵字,你選擇使用那個字段作索引。
  }
  }
}ast

而後在kifana中指定routing查詢。

GET ****/_search?routing=api      ###routing指定是字段中具體的值。

相關文章
相關標籤/搜索