Elasticsearch・OpenSearch えらすてぃくさーち・おーぷんさーち
ElasticsearchOpenSearch全文検索ログ分析ELKスタック転置インデックス
Elasticsearch・OpenSearchについて教えて
簡単に言うとこんな感じ!
「大量のテキストデータから一瞬で検索できる」エンジンだよ。サイト内検索やアプリのログ分析が得意で、「先月のエラーを全部出して」みたいな検索を億件のデータでも秒で返してくれる。OpenSearchはElasticsearchからフォークした互換OSSだよ!
Elasticsearch・OpenSearchとは
Elasticsearchは、Apache Luceneをベースにした分散型の全文検索エンジンです。JSONドキュメントを保存し、テキスト検索・集計分析・地理情報検索などが高速に行えます。ELK スタック(Elasticsearch + Logstash + Kibana)としてログ管理・監視基盤としても広く使われています。
OpenSearchは、AWSが2021年にElasticsearchをフォークして作ったOSSプロジェクトです。Elastic社がElasticsearchのライセンスを商用制限のあるSSPLに変更したことへの対抗措置として誕生しました。APIレベルでElasticsearchと高い互換性を持ちます。AWSはAmazon OpenSearch Serviceとしてマネージドサービスを提供しています。
両者の中心技術は転置インデックスです。テキストを単語(トークン)に分解し、「どの単語がどのドキュメントに含まれるか」のインデックスを作成することで超高速な全文検索を実現しています。
主要な概念
| 用語 | 説明 |
|---|---|
| インデックス | RDBのテーブルに相当する。ドキュメントの集合 |
| ドキュメント | JSONオブジェクト。RDBの行に相当 |
| シャード | インデックスを分割した単位。水平分散の基本 |
| レプリカ | シャードのコピー。障害耐性と読み取り性能向上 |
| マッピング | フィールドのデータ型定義。RDBのスキーマに相当 |
| アナライザー | テキストをインデックス用トークンに分解する処理 |
| Query DSL | JSON形式のクエリ言語 |
主な用途
- ログ・監視分析 — ELK/EFKスタック構成でシステムログを可視化
- サイト内検索 — ECサイトの商品検索、ドキュメント検索
- セキュリティ分析 — SIEMとして不正アクセスパターンを検出
- APM(アプリ性能監視) — Elastic APMでトレーシング・プロファイリング
歴史と背景
- 2004年 — Shay Banonが前身の「Compass」を開発
- 2010年 — Elasticsearchとして公開。分散検索エンジンに進化
- 2012年 — Elastic社設立。Logstash・Kibanaを取得しELKスタックを形成
- 2016年 — Elastic社がNASDAQ上場
- 2021年 — ElasticがSSPLライセンスに変更→AWSがOpenSearchプロジェクトを開始
- 2021年 — OpenSearch 1.0リリース
- 現在 — AWSはOpenSearch Service、Elasticは Elastic Cloud Serverless を展開
Elasticsearch vs OpenSearch
関連する規格・RFC
| 資料 | 内容 |
|---|---|
| Apache Lucene | ElasticsearchとOpenSearchの基盤となる全文検索ライブラリ |
| SSPL(Server Side Public License) | Elastic社が採用したライセンス。商用サービス提供に制限 |