Elasticを活用して、より良いアプリ開発を実現するために
セッション後半で、鈴木氏はデモアプリを活用しながらElastic Cloudの概要を紹介していった。デモアプリとして例示されたのはECサイトだ。フリーワード検索や件数集計、タグなどによる絞り込み、ソート、ページング、サジェスト、ハイライトといった機能をElastic Cloudによって実現できることを鈴木氏は説明した。デモアプリのアーキテクチャ全体像は下図の通りである。
さらにセッション内では、Elasticsearchに関連した機能開発に役立つ、生産性を向上させるツールについても解説された。
まずは「Elasticsearch for VSCode」だ。これはElasticsearch APIをVSCodeから呼び出すための拡張機能でここからインストールできる。この拡張機能を使うことで、Elasticsearch APIを利用する際にcurlコマンドなどをたたく必要がなくなりVSCode上だけで操作が完結するため、開発効率化に大きく寄与してくれる。
また、.NET用クライアントライブラリとして「Elasticsearch.NET」や「NEST」も紹介された。「Elasticsearch.Net」はlow levelなクライアントライブラリであり、かつ他ライブラリとの依存関係がない。「NEST」はhigh levelなクライアントライブラリで、すべてのリクエスト・レスポンスを特定の型としてマッピングする。また、「NEST」にはElasticsearchのクエリDSLと1対1でひもづけられるクエリDSLが付属している。
両ライブラリはNuGetパッケージマネージャーより以下のコマンドでインストール可能だ。
Install-Package Elasticsearch.Net Install-Package NEST
さらに、Elasticsearchに保管したデータを手軽に取り扱えるフロントエンドUIコンポーネントとして「Reactivesearch」も紹介された。
アプリケーション開発において「利便性の高い検索機能をユーザーに提供すること」「データを集計・可視化してサービスの改善に役立てること」は重要だ。その目的を実現するための手段として、Elasticの各種プロダクトが有益であることが伝わるセッションとなった。