OpenSearchとは
OpenSearchとは、高速検索が可能なオープンソースの全文検索・分析エンジンである。OpenSearch projectによって、Apache License 2.0のライセンスで公開されている。OpenSearchは全文検索エンジンのElasticsearchをベースに作成されており、検索速度や分析柔軟性に優れていることから、ビッグデータを扱うような大規模システムでの利用に向いている。OpenSearchはElasticsearchと似た機能を備えているものの、一部互換性が無い部分もある。そのため、利用の際はデータを投入するツールがOpenSearchに対応しているかの確認が必要である。
Elasticsearchは、2021年2月リリースのバージョン7.11.0からデュアルライセンスへ移行し、オープンソースではなくなっている。これを受け、それまでElasticsearchをつかったサービスを提供していたAWS社が、OpenSearchの開発を開始した。以降AWS社は、Amazon OpenSearch Serviceというサービスを提供している。
OpenSearchの特徴
OpenSearchには次のような特徴がある。
ビッグデータの検索・解析ができる
OpenSearchでは、列指向によるデータ管理を採用している。リレーショナルデータベースのような行指向のデータベースと違い、データの列の中から条件に合致するものだけを取り出すため、大量の情報の中から必要なデータを検索する際に適している。また、テキストデータの管理においては、Apache Luceneが採用しているFST(Finite State Transducers)と呼ばれる検索インデックスを踏襲している。数値データの管理においては、BKD-Treeというアルゴリズムを採用している。OpenSearchではこれらの管理手法を用いることで、少ないメモリで高速な検索を実現している。
クラスタ構成が容易
OpenSearchでは、クラスタ構成を組みたいネットワークを指定し、同一クラスタ名で起動するだけで、容易にクラスタ構成を組むことができる。クラスタを構成することで、複数のノードに物理的なデータを分散し、データの冗長性を確保することができる。また、Hadoopなどと連携し、大規模なデータの分散並列処理をすることも可能である。
豊富な検索機能を備えている
OpenSearchは、テキストだけでなく、数値、構造化データ、非構造化データ、地理情報などの検索にも対応している。また、以下のような検索クエリの実行も可能である。
- 部分一致検索(match)
- AND検索(bool)
- フレーズ検索(match_phrase)
- 重み付け(boost)
- 範囲指定(filter)
- 検索スコア(explain)
- highlight
高速なデータ登録が可能
OpenSearchでは、登録するデータの型が自動的に判別される。これによって高速なデータの登録を実現している。一方で、追加で明示的にスキーマの定義を行うことも可能である。適切にスキーマを定義することで、より高い検索性能を引き出すこともできる。また、投入したデータに対して、事後的にスキーマの適用や修正を行うこともできる。
スケーラビリティが高い
OpenSearchは、ビッグデータのような大規模データに対応するためシステムを拡張しやすい設計になっている。全文検索の処理やデータ配置の分散構成が可能なうえ、サービス無停止でシステムにサーバを追加することができる。なお、サーバの数を追加したら、データは自動的に各サーバに分散して再配置されるようになっている。
アクセス制限が可能
OpenSearchでは、データベースへのアクセス権限をユーザごとに細かく設定することができる。データの不正利用防止などのセキュリティ対策につながるだけでなく、マルチテナントのデータベースとして活用することもできる。
データを可視化するツールがある
OpenSearch Dashboardsというデータ可視化ツールを使用することで、OpenSearch内のデータをグラフィカルに表示し、分析に役立てることができる。OpenSearch Dashboardsは、Elasticsearchで使われているKibanaという可視化ツールをベースにして作成されている。
REST APIを備えている
OpenSearchはREST APIを備えている。そのため、データを保管するLogstashや全文検索エンジンのFess、ログサーバの管理を行うGraylogなど、様々なシステムと連携することが可能である。
デージーネットの取り組み
デージーネットでは、OpenSearchのインストール方法や詳細情報について調査検証を行い、OpenSearch調査報告書にて無料で公開している。また、FessやGraylogなど、Elasticsearchを利用していたOSSがOpenSearchでも利用できるかの検証も行っている。
なお、デージーネットでは、OpenSearchを利用した全文検索エンジンシステムの構築および保守サービスを提供している。
【カテゴリ】:ビッグデータ  情報共有  オープンソースソフトウェア  
【Webセミナー】Rocket.Chatだけじゃない!OSSビジネスチャットの最新情報
日程: | 12月19日(木)Webセミナー「BigBlueButton」を使用します。 |
内容: | Rocket.Chatの機能制限でお困りの方も必見!ライセンスフリーで利用できるOSSのビジネスチャットを紹介します。 |
ご興味のあるかたはぜひご参加ください。 |