こんにちは!技術2課、濱岡です。
どうぶつの森の島クリエイターで時間がとけていってます。 でも、色々やっていると楽しくなっていってしまうんですよね。。。
さて、今回はAmazon CloudSearchとAmazon Elasticsearch Serviceの2つを実際に触ってみました。
Amazon CloudSearchとは
Amazon CloudSearchとはウェブサイトまたはアプリケーション向けの検索ソリューションを容易かつコスト効率良く設定、管理、スケールできるマネージド型のサービスになります。 34言語をサポートしており、ハイライト表示、自動入力、地理空間検索などもできるそうです。 日本語もちゃんとサポートしてます。
色々書きましたが、使った方が早いよねということで早速使ってみます。
Amazon CloudSearchを使ってみよう
ドメインを作成してみよう
サンプルのデータがあるのでこちらを参考にやっていきます。
まずAmazon CloudSearchのマネージドコンソールの画面から Create a new search domain
を押します。
Search Domain Name
は好きな名前で大丈夫です。
私はtest-domain
としました。
他の値はdefaultにしました。
設定が終わったらContinue
を押します。
次はindexの設定です。
Use a predefined configuration
を選択します。
Load configuration for indexingはIMDb movies (demo)
を選択します。
設定が終わったらContinue
を押します。
設定の確認画面がでてきますので確認できたらContinue
を押します。
最後にポリシーの選択ですね。 ちょっとここがわかりにくくて戸惑いました。
Search and Suggester service: Allow all. Document Service: Account owner only.
を押します。
するとこんな感じでポリシーが表示されます。
これで大丈夫です。
そしてContinue
を押します。
設定の確認画面がでてきますので確認できたらContinue
を押します。
するとこんな画面にいきます。
ドメインの作成に10分ほどかかると書いてますね。
OK
をクリックして10分ほど待ちます...
この画面から
この画面になれば作成できてます。
データのアップロードをしてみよう
今回はサンプルのデータを使用します。
Upload Dcuments
を押します。
Predefined data
を選択し、Load sample data forの部分はIMDb movies (demo)
を選択します。
そしてContinue
を押します。
確認画面がでますので確認したらUpload Documents
を押します。
この画面になりましたらFinish
を押します。
実際に検索してみる
では、実際に検索してみます。
Run a test searchに検索したいワードを記入します。
私はためしにmars
で検索してみます。
ワードを記入したらGo
を押します。
こんな感じで検索結果がでました。
次にmars attacks
で検索してみます。
2つの画像をみると_score
という値があります。
これは類似度でどれくらい情報が一致しているかという値ですね。
検索結果の表示順などに使っている値になります。
他にもOptions
を押すとand検索やor検索なんかもできます。
では、次にAmazon Elasticsearch Serviceを実際に使ってみましょう。
Amazon Elasticsearch Serviceとは
Amazon Elasticsearch ServiceとはElasticsearchを簡単にデプロイ、保護、実行する完全マネージド型サービスです。 Elasticsearchはオープンソースの検索エンジンですね。 これをAWS上で簡単に使えるようにしたものになります。
では早速使ってみましょう。
Amazon Elasticsearch Serviceを使ってみよう
ドメインの作成
こちらもサンプルのデータがあるのでこちらを参考にやっていきます。
まず、Amazon Elasticsearch Serviceのマネージドコンソール画面から新しいドメインの作成
を押します。
まずはデプロイタイプを選択します。
今回は開発およびテスト
を選択します。
バージョンは最新バージョンにしておきます。
次にドメインの作成です。
Elasticsearch ドメイン名は任意の名前で大丈夫です。
私は、testdomain
としました。
インスタンスタイプはc5.large.elasticsearch
でノードの数はデフォルトの1にします。
データストレージとマスターノードもそれぞれデフォルトの値で大丈夫です。
スナップショットの設定と任意の Elasticsearch クラスター設定もそのままで次へ
を押します。
次にアクセスとセキュリティの設定です。 ネットワーク構成はパブリックアクセスを選択します。
細かいアクセスコントロール – Open Distro for Elasticsearch を搭載の部分はマスターユーザーの作成
を選択します。
マスターユーザー名とマスターパスワードは任意で大丈夫です。
ただし
マスターパスワードは、少なくとも 8 文字で、1 つの大文字、1 つの小文字、1 つの数字、および 1 つの特殊文字を含める必要があります。
となっておりますので注意してください。
Amazon Cognito 認証はそのままでアクセスポリシーはドメインへのオープンアクセスを許可
を選択します。
暗号化もそのままで次へ
を押します。
最後に確認画面が出るので確認できたら確認
を押します。
Amazon CloudSearchの時のドメインの作成より長かったですね...
確認を押すとこの画面になります。 こちらも10分ほどかかるので待ちましょう。
この画面になれば作成完了です。
データをアップロードする
サンプルのデータをアップロードします。 ここにあるようにコマンドを叩いてアップロードしてみてください。
master-userとmaster-user-passwordは先ほど設定したものを使用すれば大丈夫です。 domain-endpointは下の赤枠の値です。
これで準備完了です。
実際に検索してみる
では、実際に検索してみましょう。
KibanaのところのURLをクリックします。
下の画面に遷移しますので作った先ほど作ったマスターユーザー名とパスワードを入力してLog in
を押します。
Kibanaは少なくとも1つのインデックスパターンが必要なのでそれを作成します。 下の画像の赤枠部分を押します。
今回はIndex patternにmovies
と入力しました。
入力したらNext step
を入力します。
あとはCreate index pattern
を押すとできます。
これでやっと検索できます。
検索バーにmars
と入力してEnterを押します。
こんな感じで検索ができます。
まとめ
Amazon CloudSearchとAmazon Elasticsearch Serviceを実際に触ってみました。 実際にデータをどこからかとってやってみた方がいいのかなと思ったのですが今回はサンプルデータを使用してみました。 こうやってみるだけでも流れがわかっていいですね。
作成したドメインを削除することもお忘れなく。
以上、濱岡でした!