エンジニアリング

Elastic CloudでElastic App Searchを使いはじめる

Webサイトやアプリ、モバイルアプリに多機能でパワフルな検索を手軽に追加できるElastic App Search。Elastic Cloudから、直接デプロイすることが可能になりました。

App SearchはElasticsearchをベースに開発されており、非常にスケーラブルで高速です。デフォルトのままでも設定済みの関連性調整機能が働きますが、結果を微調整するユーザーフレンドリーなオプションが豊富に揃っており、検索エクスペリエンスをカスタマイズすることができます。また詳しい検索分析で、ユーザーが探しているものや、ユーザーが求めた結果を手に入れたかどうか確認することもできます。一連の機能は使いやすいAPIでパッケージ化されており、シンプルに使いはじめることができます。

本記事は、App Searchのトライアルを使っている、あるいはまだ最初のデプロイを行ったばかり、というユーザーの方に向けて、検索プロジェクトを立ち上げる最初の手順とリソースの概要をわかりやすく提供します。

App Searchを使いはじめる

7つの簡単な手順で、立ち上げから実行、検索まで行うことができます。本記事では、Elastic Cloudにログイン→App Searchのデプロイを作成し→コンテンツをインデックス→検索と調整という手順を解説します。

1 – Elastic Cloudにログインする

はじめに、Elastic Cloudアカウントにログインします。Elastic Cloudユーザーではない方も、まったく問題ありません。アカウント作成の手順はシンプルで、14日間の無料トライアルを開始することができます。Elastic Cloudページのトライアルボタンをクリックして、メールアドレスをご入力ください。クレジットカード情報の入力は必要ありません。

Elastic Cloudへのログイン

2 – App Searchデプロイの作成

Elastic Cloudのダッシュボードが表示されたら、[Create Deployment]ページを開きます。このとき必ず、App Searchテンプレートを選択してください。[Create Deployment]をクリックするだけで、デフォルトのオプションですばやく開始することができます。

しかし、必要なデプロイのサイズが明確にわかっていてカスタマイズしたい場合は、Create Deploymentのページで[Customize Deployment]をクリックし、デプロイのオプションを微調整することも可能です。Elastic Cloudで実行するApp Searchなので、お好きなクラウドプラットフォームと、リージョンを選択してデプロイすることができます。リソース選択に際して、将来の使用状況を予測して悩む必要はありません。App Searchは完全にスケーラブルです。スケールさせる場合も、数クリックするだけでリソースを追加することができます。

Elasticのユーザー名とパスワードは、忘れずにお手元に保存してください。 App Searchダッシュボードを使いはじめる際のログインに使用します。

ここまでに問題が生じて、サポートが必要になっているという方は、ぜひドキュメントをご参照ください。

3 – App Searchにログインして、エンジンを作成する

Elastic Cloudのデプロイを作成し終えると、App Searchにログインすることができます。Elastic Cloudのダッシュボートで[App Search]にある[Launch]をクリックし、Elasticのユーザー名とパスワードを入力してください。

App Searchログイン

次に、エンジンを作成します。App Searchのエンジンは、Elasticsearchにおけるインデックスのようなものと考えることができます。インデックスしたドキュメントのコンテナーとして振る舞い、重み付けやブーストなど、データセットレベルの設定を提供するほか、ユーザーが実行した検索を自動で収集する検索分析の機能も果たします。

エンジンを作成するには、アカウントのホームで[Create an Engine]ボタンをクリックし、作成するエンジンの名前を入力します。

新規エンジンを作成する

エンジンの名前は慎重に考えて決めることをおすすめします。エンジン名は、APIによるコールや、検索クエリの発行時に特定キーとして使用されます。

エンジンについてさらに詳しくは、ドキュメントをご覧ください。

4 – API URLと認証情報を見つける

ここまでで最初のエンジンの作成が完了しました。次に、APIリクエストを発行するために必要となる各種キーを見つける必要があります。キーは、App Search内、またはElastic Cloudのダッシュボードで見つけることができます。App Searchではドキュメントのインデックスから、最終的には検索の実施自体まで、APIリクエストを通じて行います。

認証情報を見つける

認証の包括的な概要については、ガイド「Understanding API Authentication(API認証を理解する)」をご覧ください。

5 – コンテンツのインデックスを開始する

手順4でAPIのURLと認証情報を入手し、”Documents API”を使ってドキュメントとコンテンツをApp Searchエンジンに追加することが可能になりました。事前準備の手間を最小限にするため、Elasticはスキーマレスな投入プロセスを提供しています。つまり、1つ目のドキュメントのインデックスに先立ち、スキーマを定義する必要はありません。スキーマは、ドキュメントAPIを経由して提供されるデータとフィールドに基づき、動的に生成されます。

お好みのAPIクライアントを使用するか、cURLを使ってシンプルにAPIリクエストを送信することにより、少数のドキュメントを多数のJSONオブジェクトとしてインデックスしはじめることができます。この際、ユーザーのAPIキーがHTTP認可リクエストヘッダーとして含まれます。

ドキュメントが適切にインデックスされているかどうか、App Searchダッシュボードの[Documents]の部分を表示して確認することができます。ドキュメントのインデックス中に問題が生じた場合は、ダッシュボードの[API Logs]部分で、リクエスト失敗に関する詳しい情報を参照することができます。

インデックスのドキュメントを検証する

Elasticが提供する「Indexing Documents guide(ドキュメントインデキシングに関するガイド)」は、付加的なドキュメント操作と、スキーマのアップデートをはじめ、ドキュメント投入が動作する仕組みを理解する上で役立ちます。

6 – コンテンツの検索をはじめる

いよいよ、作成したエンジンでコンテンツを検索します。クエリをテストしてその結果を確認する手順は多数ありますが、最も早くて簡単な方法が(すでにお気づきかもしれませんが)Query Testerを使うやり方です。Query TesterはApp Searchダッシュボードで見つけることができます。

左のパネルでQuery Testerをクリックして単語を入力し、結果を確認するだけでOKです。

Query Testerでコンテンツ検索を開始する

Query Testerや、その他の基本的な検索機能、またクエリのカスタマイズについて詳しくは、「Searching Guide(検索ガイド)」で確認いただけます。

実際に検索してみて、何かの順位付けをブースとして結果を調整した方がよさそう、とか、他のものを抑制したい、上位の結果の1つをピン留めして目立たせたい、などのニーズが生じることがあります。このApp SearchダッシュボードにあるRelevance Tuning(関連付けの調整)を使って、いま挙げたような調整も、他のタイプの調整も実行できます。

最適化のため検索を微調整する

7 – Search UIで美しい検索エクスペリエンスを構築する

Elasticが提供したいのは、本当にリッチな検索エクスペリエンスを簡単に、シンプルに構築できるテクノロジーです。そこでElasticはSearch UIを開発しました。無料かつオープンソースのJavaScriptライブラリで、ユーザーはわずか数行のコードであらゆるWebサイトやアプリに検索機能を追加することができます。完全な検索エクスペリエンスの構築に必要となるすべてのものが揃っており、0からの開発は必要ありません。検索バーや、検索の提案/入力予測、結果ページの動的フィルターなどが含まれています。

Search UIを使ったカスタマイズ

検索エスペリエンスの構築準備が整ったら、ぜひElasticのGitHubレポを見てみてください。Search UIを使って美しい検索機能を作りはじめることができます。

今後の見通し

本記事が、App Searchを使いはじめる方のお役に立ちましたら幸いです。もう少し詳しく学んでみたい、という方はウェビナー「Getting Started with Elastic App Search(Elastic App Searchを使いはじめる)」をご視聴ください。ウェビナーでは、Elasticのエキスパートが手軽な初期設定、検索エクスペリエンスの微調整、拡張に伴うスケールなどの手法を実際の画面でご説明します。