Elastic App Searchを使ってみた

##Elastic App Searchとは？
Elastic社のElastic Enterprise Searchというサービスの一部で、
全文検索エンジンのElasticsearchを抽象化して、アプリケーション検索用に使いやすくしたサービスです。

▼ Elasticsearchについて知りたい場合は、下記の記事からがオススメです。
[Elasticsearchの概要](https://qiita.com/Mister_K/items/69433cd3c2ccefe48f4b)
[3分で分かった気になる、Elasticsearchとは？](https://qiita.com/r548/items/3622048a622d9c0acc05)

##導入方法
ユーザー登録〜検索エンジン作成までを導入として紹介します。
今なら14日間のフリートライアル期間があり、カード登録なし、少ない設定項目で簡単に検索エンジンが作成できるので、気になった方はぜひお試しください。

公式のページから始めます。
https://www.elastic.co/jp/app-search/service
![スクリーンショット 2020-12-09 19.33.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/80a41a8a-bdf4-2d7a-31d1-2796ee584c55.png)

1. [トライアルを始める]ボタンを押してアカウント登録ページに進み、アカウント登録を済ませます。
▼ アカウント登録まで済ませた状態がこちら
![スクリーンショット 2020-12-09 19.43.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/6b574ff1-b869-54ff-6800-2c7f2ff42858.png)

2. [Start your free trial]ボタンを押して、利用するサービスを選択・設定します。
今回はApp Searchを利用するので、Elastic Enterprise Searchを選択、
プロバイダやリージョンも設定し、[Create deployment]ボタンからデプロイします。
![スクリーンショット 2020-12-09 19.55.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/088574a7-21b7-ac20-43b9-ae0c65d2fba0.png)

3. デプロイを選択後、管理ツールにログインするための認証情報が表示されます。
表示されるのは初回のみなので、コピーして保存しておきます。
デプロイ開始〜完了までには５分程かかります。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533323736312f37323263373962362d306437652d393533642d363837332d3662613537646132333931332e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/7ce09936-e491-b184-e5c0-a7d97522649c.png)

4. デプロイ完了後、[Open Enterprize Search]ボタンからEnterprize Searchのコンソールに遷移します。
![スクリーンショット 2020-12-09 20.16.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/8d8c5a9b-6ecb-bfd5-2877-1289dad5e2a7.png)

5. [Launch App Search]ボタンを押して、本記事の目的であるApp Searchを起動します。
![スクリーンショット 2020-12-09 20.22.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/f56593e0-8e75-2b45-8469-2efe44414c82.png)

6. ここから、検索エンジンの設定が始まります。一応スキップしてもやり直せます。
立ち上げる検索エンジンの名前と、利用する言語を選択します。
ここで、エンジン名はqiita-test、言語は日本語としました。
![スクリーンショット 2020-12-09 20.28.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/ff42bafb-cb9f-3037-ecb2-d95959acd92c.png)

7. データ(documents)をJSON形式で投入します。
ここでは、サンプルとして用意されているデータをそのまま投入しました。
データの投入が終わると、検索エンジンが作成されます。
![スクリーンショット 2020-12-09 20.32.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/6be63f9d-8cc7-11de-6b7b-ff2c98e8e471.png)

8. 検索エンジンが作成されました。
ここから、個別のエンジン名をクリックして、管理ツールの画面に遷移できます。
![スクリーンショット 2020-12-09 20.39.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/d24417bf-048c-3d6a-cc0e-2b4ffa8a72be.png)
![スクリーンショット 2020-12-09 20.48.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/c6aeda84-3270-a10b-94ff-4077ae5444d3.png)

この管理ツールで下記のようなことができます。
・検索された回数やよく検索されたワードなどのアナリティクスの確認
・検索機能の簡易テスト
・データの投入
・スキーマ定義の変更
・検索の同義語設定
・キュレーション設定
・フィールド毎の検索優先順位設定
etc

##その他
JSでの実装まで書きたかったのですが、時間がないので、また今度記事にします。
▼サンプルデータを使った動作イメージ
![chrome-capture.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532761/2abfd997-a8c4-88e6-b390-c50704e8433e.gif)

##その他参考資料
 [Elastic App Searchを使ってみよう(１時間ぐらいの動画)](https://www.elastic.co/jp/webinars/getting-started-with-elastic-app-search?token=uablif9o1f&blade=cloud.elastic.co&hulk=customer)
[サンプルデータ](https://www.elastic.co/guide/jp/kibana/current/tutorial-load-dataset.html) 
[ドキュメント](https://swiftype.com/documentation/app-search/getting-started) 
[JS用ライブラリ](https://github.com/elastic/app-search-javascript)