🔎

ElasticSearch7にバージョンアップする参考になった記事まとめ

2021/03/08に公開

前書き

  • ライセンスの問題でいろいろと話題になっているElasticSearch
  • ElasticSearchは割とコアな部分で破壊的な変更が加わるので、古い情報だと参考にならないこともしばしば
  • 特にネット上にはElasticSearch5時代の記事が多く存在しており、ElasticSearch6,7になってくるにつれて日本語の情報は少なくなってくる
    • 過去ElasticSearchを使っていたユーザはどこへ行ってしまったのだろうか...
  • そんなこともありElasticSearchをversion7まで上げるのに参考になった記事を紹介する
  • ElasticSearchは以下ではESと略すことがある。後ろの数字はversion。
    • ES5はElasticSearch5を指す

Elasticsearch 2.x から 7.xへの道

https://qiita.com/r4-keisuke/items/65e5f434652e5e32b6c0

  • 今回は2.xから7.xまで対応しようとすると更に大変だなというところ。
  • 全体的にbreaking changesを把握するのに役に立った

ZOZOTOWNの検索基盤におけるElasticSearch移行で得た知見

https://techblog.zozo.com/entry/migrating-zozotown-search-platform

  • RDSを使っていてかつES5を利用していた場合、 parent-childでテーブル構造と同じ用にindexを生成することが多かったように思う
  • ES6でのbreaking changesでparent-child は利用できなくなったので、代替手段を取る必要がある
  • この記事では、Nested Datatypeを利用することで表現しておりその点が参考になった

Elasticsearchのバージョンを6.8系から7.5系にアップグレードしました

https://engineer.crowdworks.jp/entry/2020/06/04/132334

  • クラウドワークスさんの記事
  • ES5⇢ES7に上げる際にぶち当たる問題であるタイプレスについてどう対応するかの参考になった
  • 今回は記事中のようなプロセスは取らなかったが、記事中のプロセスを段階的に踏むことでtypeless対応周りをどうするかの知見を得ることができた

Elasticsearch > Logstash > 親子関係データをLogstashで格納

https://qiita.com/sugasaki/items/43f386bcf892c0936c02

  • これは、ES7対応というより、LogstashでかつJoin fied typeを導入するという点で、どう行うかの参考になった。
  • 特にroutingIDを追加するなどはマニュアルを細かく読まないとならないので良かったですね

LogstashからElasticsearchへの連携でNested datatypeを扱う

https://qiita.com/tarumzu/items/076fadd5f70aa672adc6

  • ZOZOTOWNの記事を呼んでいてNested datatypeをLogstashで利用する際にはどうしようかの参考になった記事

Learn,build, and scale with elastic - realizing great programming experience with elastic cloud

https://www.slideshare.net/shosuz/learn-build-and-scale-with-elastic-realizing-great-programming-experience-with-elastic-cloud

  • developers summit 2021でElastic社の鈴木さんが発表されていた資料
  • 直接的にES7とは関係ないけどESに関してざっと確認するには良い。

公式

まとめ

  • 思ったよりES7の情報が少なくて困った。
  • 日本でES7使ってるユーザどのくらいいるんだろうか。運用周りとか情報交換したいところではある

Discussion