目次
Amazon OpenSearch Serviceとは?
分散検索が可能なDBです。
1つのクエリを複数のノードで処理する事で検索速度をスケールさせる事ができます。
以前はAmazon Elasticsearch ServiceとしてElasticsearchをベースに提供されていましたが、2021年に OpenSearch プロジェクト(OSS)としてフォークしました。
詳細ページ
OSSなのでソースコードは公開されており、ローカルで動作させる事も可能です。
https://github.com/opensearch-project/opensearch
本記事では、OpenSearchの主要な機能を紹介しているほか、動かせるサンプルコードを用意しています。
サンプルコードの紹介
TerraformでOpenSearchを作成しDocker(go言語)で操作するサンプルコードを作成しました。
使い方はリポジトリのREADMEを参照してください。
https://github.com/t-kuni/aws-open-search-example
リンク集
OpenSearchの公式ドキュメント、ライブラリのリンクです。
公式ドキュメント
https://opensearch.org/docs/1.2/#
APIリファレンス
https://opensearch.org/docs/1.2/opensearch/rest-api/index/
Go言語向けのクライアントライブラリ
https://github.com/opensearch-project/opensearch-go
OpenSearch Dashboards とその機能について
OpenSearch Dashboards は OpenSearchのデータに対して検索や可視化を行うダッシュボードです。
OpenSearchとは別プロセスとして起動します。
OpenSearchのクラスタを作成すると自動的に作成され、コンソール上からURLを確認できます。
クラスタ作成時に指定したマスターユーザのIDとパスワードを使用してログインできます。
Index Patterns
OpenSearch DashboardsからOpenSearchのデータを読み込む際の型定義のようなものです。
Discover
インデックスパターンに対してGUIを用いて検索を行います。
ネストしたJSONも扱えます。
DQL(Dashboards Query Language) というダッシュボード用のクエリ言語で絞り込むこともできます。
Visualization
OpenSearchのデータを各種グラフで可視化します。
Query Workbench
OpenSearchのデータをSQLで検索できる機能です。
検索結果は以下のように表示されます
ネストしたJSONも確認できます
Dev Tools
OpenSearchのAPIを実行できるコンソールです。
APIリファレンスを見ながら色々実験したい時に便利です。
以上です。
Webエンジニアをやっています
UX/UIデザインからプログラミング、DB設計、SEO、インフラ構築など幅広く対応してます
PHP/PHPUnit/Laravel/Vue/Nuxt/Docker/Terraform
ご連絡はTwitterのDMまで。