読者です 読者をやめる 読者になる 読者になる

$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

今日のElasticsearch学び Vol.5 - Avoiding Type Gotchas

tech elasticsearch

 今日はElasticsearch: The Definitive Guideを読んでいて怖いと思ったところについて書く。

 学びがあったのはAvoiding Type Gotchasという部分。これによると、同一のindexを使っていて別のtypeで定義していたとしても、Luceneからはindex単位でフラットに定義があるように見えるらしい。なので、別々のtypeだけれど、同じfield名で定義していて、かつそのfield名のデータ型がそれぞれのtypeで異なっているとき、コンフリクトが起こってしまうみたい。

 直感的には、typeが名前空間となり、field名は完全に独立しているというふうに思いがち。変にハマる可能性があるので覚えておく。

 ちなみにParent-Childなどを利用しないなら、1 index 1 typeがオススメのようだった。