Introduction to OpenSearch®の翻訳です。
2022年1月27日
オープンサーチ入門
OpenSearchはコミュニティ主導の真のオープンソース検索・分析スイートです。その機能の概要については、こちらをお読みください。
昨年9月、私たちはAiven for OpenSearchを紹介しました。この記事では、OpenSearchのコンポーネントのハイレベルな概要と、このオープンソースの検索・分析エンジンにふさわしいユースケースを紹介します。さっそく飛び込んでみましょう!
OpenSearch とは?
一言で言えば、OpenSearch は Elasticsearch に代わるオープンソースです。検索エンジンデーモン、OpenSearch、NoSQLデータベース、可視化インターフェースを含む検索・分析スイートです。Apache Luceneベースの分散型全文検索エンジンを提供し、RESTful APIインターフェースとJSONドキュメントをサポートしています。
OpenSearchのコンポーネントとコンセプトをもう少し詳しく見てみよう。
クラスターとノード
OpenSearch は 分散型 検索・分析エンジンです。つまり、高度にスケーラブルなクラスタとやり取りすることになります。各クラスタは、データを保存し、検索要求を処理する 1 つ以上のノードで構成されます。
前述の通り、クラスタはスケーラブルです。ラップトップのような単一ノードのクラスタでも、複数のパワフルなマシンでも実行できる。クラスタが大きくなれば、それらのマシンに責任を分担させることができる。また、異なるタイプのタスクに異なるサーバーを合わせることもできる。高速なディスクを持つマシンはデータのインデックス作成と検索を担当し、ディスクは小さいがCPUが高いサーバはクラスタの状態管理を担当するといった具合だ。
もっと詳しく知りたい方は、Open SearchプロジェクトサイトのCluster formationの記事をご覧ください。
インデックス
リレーショナル・データベースのデータベースやテーブルのように、OpenSearch はインデックスを使ってデータを整理します。データは各インデックスをプライマリシャードにマッピングすることでクラスタ内に分散され、プライマリシャードは1つ以上のレプリカシャードにコピーされます。これにより、ハードウェアの障害からデータを保護し、読み込みリクエストのための追加容量を提供します。
Aiven Developer Portalのインデックス記事では、インデックスとシャードのトピックについて詳しく説明しています。
REST API
OpenSearch は通信に REST API を利用しています。HTTPS リクエストを送信するには、任意のプログラミング言語または cURL のようなクライアントを使用できます。
以下は、OpenSearch プロジェクトの公式サイト から引用した、HTTPS リクエストを送信して OpenSearch インデックスに JSON ドキュメントを追加する例です。
`PUT https://<host>:<port>/<index-name>/<document-id>/_doc/<document-id
{
"title":「風立ちぬ
"release_date":"2013-07-20"
クリップボードにコピー
ドキュメントの検索を実行する
`GET https://<host>:<port>/<index-name>/_search?q=wind`Copy to clipboard
ドキュメントを削除する:
`DELETE https://<host>:<port>/<index-name>/<document-id>`Copy to clipboard
集約
OpenSearchの素晴らしい点の一つは、その強力な分析エンジンです。このエンジンは、計算を実行し、データを分析し、そこから統計を抽出することができます。これは、リアルタイムでデータを分析し、OpenSearch ダッシュボードで可視化しようとするときに便利です。
OpenSearchのアグリゲーションについてもっと知りたければ、デベロッパーポータルのアグリゲーションについての記事か、OpenSearchプロジェクトサイトのさらに詳しい記事をチェックしてください。
OpenSearch の主なユースケースは何ですか?
OpenSearchを使えば、データの取り込み、検索、集約、表示、分析が簡単にできます。これらの機能は、ログ分析、リアルタイム・アプリケーション・モニタリング、クリックストリーム分析、検索バックエンドなどのユースケースで人気があります。
OpenSearch を始めるには?
素晴らしいニュースです!AivenコンソールでOpenSearchを始めることができます:
1.1.OpenSearchのバージョン、クラウドプロバイダー、デプロイ先を選択し、使用するプランを選択します。
2.サービス名をつける
3.Create Service "をクリックすると、OpenSearchデータベースが構築されます。
4.その間に、サービスの概要ページにアクセスして、サービスの詳細を見ることができます。
サービスをテストし、自分のデータで遊んでみるには、cURL で接続することから始めましょう。テストデータに飢えているのであれば、サンプルレシピデータセット を選んでみましたので、OpenSearch を試してみてください。
まとめ
もしあなたがパワフルなオープンソースの検索・分析エンジンを探しているなら、OpenSearchはあなたのデータを検索・管理するのに必要なものをほとんど全て備えている。
- PythonとNodeJSを使ってOpenSearchを始める方法をAivenブログでご覧ください。
- 開発者ポータルのAiven for OpenSearchのドキュメントをご覧ください。
Aiven for Elasticsearchをご利用の方で、OpenSearchへの移行にご興味のある方は、ドキュメントのMigrate Elasticsearch data to Aiven for OpenSearchをご参照ください。また、Aiven for OpenSearchの無料トライアルにご登録いただき、Twitterでフォローしていただくと、製品や機能関連の最新ニュースをご覧いただけます。