コケッココケッコ

コケコッコー

Elasticsearch5(ES5)のtokenizerをkuromojiにする

概要

Elasticsearch(ES5)で全文検索すると、日本語がうまくいかない問題にぶち当たったためtokenizerとしてkuromojiを利用することにした。 しかし、とあるデータをembulkを用いてjsonからES5に保存しているが、embulkのoutput pluginでindex templateを設定できない問題に直面した。 そこで、ES5のtokenizerのdefaultをkuromoji_tokenizerに設定する方法を探った。

解決策

KibanaのDev ToolsのConsoleに以下を入れて実行すれば終わり。

POST _all/_close

PUT _all/_settings
{
"index.analysis.analyzer.default.tokenizer" : "kuromoji_tokenizer",
"index.analysis.analyzer.default.type" : "custom"
}

POST _all/_open

GET _all/_settings

GET all/settingsの結果

{
  ".kibana": {
    "settings": {
      "index": {
        "number_of_shards": "1",
        "provided_name": ".kibana",
        "mapper": {
          "dynamic": "false"
        },
        "creation_date": "1507282533739",
        "analysis": {
          "analyzer": {
            "default": {
              "type": "custom",
              "tokenizer": "kuromoji_tokenizer"
            }
          }
        },
        "number_of_replicas": "1",
        "uuid": "8se_3j01SeCgRJVyIMU4Cw",
        "version": {
          "created": "5050299"
        }
      }
    }
  }
}