🔎
ElasticSearch7にバージョンアップする参考になった記事まとめ
前書き
- ライセンスの問題でいろいろと話題になっているElasticSearch
- ElasticSearchは割とコアな部分で破壊的な変更が加わるので、古い情報だと参考にならないこともしばしば
- 特にネット上にはElasticSearch5時代の記事が多く存在しており、ElasticSearch6,7になってくるにつれて日本語の情報は少なくなってくる
- 過去ElasticSearchを使っていたユーザはどこへ行ってしまったのだろうか...
- そんなこともありElasticSearchをversion7まで上げるのに参考になった記事を紹介する
- ElasticSearchは以下ではESと略すことがある。後ろの数字はversion。
- ES5はElasticSearch5を指す
Elasticsearch 2.x から 7.xへの道
- 今回は2.xから7.xまで対応しようとすると更に大変だなというところ。
- 全体的にbreaking changesを把握するのに役に立った
ZOZOTOWNの検索基盤におけるElasticSearch移行で得た知見
- RDSを使っていてかつES5を利用していた場合、 parent-childでテーブル構造と同じ用にindexを生成することが多かったように思う
- ES6でのbreaking changesでparent-child は利用できなくなったので、代替手段を取る必要がある
- この記事では、Nested Datatypeを利用することで表現しておりその点が参考になった
Elasticsearchのバージョンを6.8系から7.5系にアップグレードしました
- クラウドワークスさんの記事
- ES5⇢ES7に上げる際にぶち当たる問題であるタイプレスについてどう対応するかの参考になった
- 今回は記事中のようなプロセスは取らなかったが、記事中のプロセスを段階的に踏むことでtypeless対応周りをどうするかの知見を得ることができた
Elasticsearch > Logstash > 親子関係データをLogstashで格納
- これは、ES7対応というより、LogstashでかつJoin fied typeを導入するという点で、どう行うかの参考になった。
- 特にroutingIDを追加するなどはマニュアルを細かく読まないとならないので良かったですね
LogstashからElasticsearchへの連携でNested datatypeを扱う
- ZOZOTOWNの記事を呼んでいてNested datatypeをLogstashで利用する際にはどうしようかの参考になった記事
Learn,build, and scale with elastic - realizing great programming experience with elastic cloud
- developers summit 2021でElastic社の鈴木さんが発表されていた資料
- 直接的にES7とは関係ないけどESに関してざっと確認するには良い。
公式
- https://www.elastic.co/guide/en/elasticsearch/reference/current/parent-join.html
- 最後は公式頼り
- Join field type周りを実際にmappingしながらどうすればよいかの参考になった
まとめ
- 思ったよりES7の情報が少なくて困った。
- 日本でES7使ってるユーザどのくらいいるんだろうか。運用周りとか情報交換したいところではある
Discussion