既存のRailsアプリにAmazon Elasticsearch Serviceを導入するためのメモ
自分のメモも兼ねて書いてみる。
ElasticeSearchとは何か
まずはこれを知らないと以降の各作業にどんな意味があるがあるのか、どういうことをしているのかのイメージがつかないと思うので紹介。
以下の記事が分かりやすい。
参考記事オープンソースの検索エンジン/Elasticsearchとは
簡単に言うと、ElasticeSearchとはオープンソース全文検索エンジンのこと。
全文検索が分からない人は以下の記事をご参考に。
参考記事全文検索とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
参考記事全文検索 – Wikipedia
ElasticSearch導入の流れ
大まかに分けると
1.インストール(ElasticSearchクラスターの準備)
2.インデックスの作成(RDBMSで言うところのデータベース作成)
3.マッピング(スキーマの作成、外部データの定義付け)
4.データの入れ込み
5.アナライザーの設定
の5つになると思われる。
念のためアナライザーについて補足。
analyzerとは?
インデックスを作成したり、クエリを解析するときにデータをどのように処理するかを指定するための機能。分割方法を定義するtokenizerと、分割後の文字列の整形処理を定義するfilterによって構成されます。
引用元:https://qiita.com/moriyaman/items/373107a3870c33229bac
簡単に言えばクエリの処理機能。
細分化していくとキリがないレベルでいっぱい項目があるのでイメージとしてはこんな感じにするのがいいと思う。
Amazon Elasticsearch Serviceとは
公式ページでは
Amazon Elasticsearch Service (Amazon ES) は、AWS クラウドでドメインを作成し、Elasticsearch クラスターのデプロイ、オペレーション、スケーリングを簡単に行える管理サービスです。
と説明してある。
簡単にいうと、ElasticSearchが入っている検索サーバーをどんと丸ごと用意しますよーというのがこのAmazon Elasticsearch Service(Amazon ES)ということ。
料金
まずAWSでElasticSearchを使うための料金
今のところ1番小さいのはt2.micro.elasticsearch。
アジアパシフィック(東京)リージョンでは$0.028/1時間→$0.672/日→$20.832/月(31日換算)→2395.68円/月
手順
開始方法に関しては以下の公式ページが参考になる気がする。
参考記事Rails ApplicationからAmazon Elasticsearch Serviceを使って素早く全文検索を可能にする
部分的に古くなっているところもあるのでそこは公式ページも参考にしていく感じになるだろうか。
参考記事開始方法 – Amazon Elasticsearch Service | AWS
P.S
タイトルはQitaの記事のものをオマージュしました