よくある質問・用語集

  • もっと調べる
  • どうやって使う?

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という可視化ツールをベースにして作成されている。

ダッシュボード画面

OpenSearch Dashboards

REST APIを備えている

OpenSearchはREST APIを備えている。そのため、データを保管するLogstashや全文検索エンジンのFess、ログサーバの管理を行うGraylogなど、様々なシステムと連携することが可能である。

デージーネットの取り組み

デージーネットでは、OpenSearchのインストール方法や詳細情報について調査検証を行い、OpenSearch調査報告書にて無料で公開している。また、FessやGraylogなど、Elasticsearchを利用していたOSSがOpenSearchでも利用できるかの検証も行っている。
なお、デージーネットでは、OpenSearchを利用した全文検索エンジンシステムの構築および保守サービスを提供している。

【カテゴリ】:ビッグデータ  情報共有  オープンソースソフトウェア  

  • もっと調べる
  • どうやって使う?

【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー

日程: 11月22日(金)Webセミナー「BigBlueButton」を使用します。
内容: OSSを導入したいけど、どこから手をつければいいかわからない方必見!
ご興味のあるかたはぜひご参加ください。

セミナー申込

関連用語

OpenSearchに関連するページ(事例など)

OpenSearchとは先頭へ