ElasticsearchのDynamicTemplateのメモ
Elasticsearchを使う機会があって、 DynamicTemplateを使用したので、そのときのメモです。 メモなので雑です。
DynamicTemplateは、elasticseachにデータをアップロードする際、 elasticseachが自動でフィールドの型設定をしてくれるのですが、 特定の文字列にマッチする場合に、適用する設定のことです。
つまり 「このindexに、この名前でデータがアップロードされたら、こうしてね」 ということですね。
「path_to_apply*の中にある、「text*」に該当するものは日本語解析可能にする」 という設定のjson
{ "template": "path_to_apply*", "settings": { "index": { "analysis": { "tokenizer": { "kuromoji_user_dict": { "type": "kuromoji_tokenizer", "mode": "serach" } } } } }, "mappings": { "_default_": { "dynamic_templates": [ { "named_analyzers": { "match_mapping_type": "string", "match": "text_*", "mapping": { "fielddata": true, "analyzer": "kuromoji", "fields": { "keyword": { "type": "keyword" } } } } } ] } } }
以下のコマンドで適用します。
$ curl -X PUT 'endpoint:port/_template/path_to_apply' -d @mapping_template.json
Qiita記事はこちら