$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

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

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

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

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

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