Elasticsearch は全文検索エンジンの定番で、Elastic Cloud はそのマネージド版だ。「RDB の検索では役不足になったとき」に登場するツールで、逆に言えばそこに至るまでは導入しなくてよい。

いつ Elasticsearch が必要になるか

数千件程度のデータを検索したいだけなら、RDB の LIKEFULLTEXT インデックスで十分に足りる。Elasticsearch が効いてくるのは、データ量が大きく、日本語の表記ゆれや形態素解析を踏まえた検索精度が求められ、ファセット(絞り込み件数の集計)をリアルタイムに返したい、という条件が重なったときだ。サイト内検索や大量ログのリアルタイム分析(ELK スタック)が代表例になる。

近年はベクトル検索(kNN / ANN)も実装され、全文検索とセマンティック検索を同じインデックスで扱える。RAG の検索基盤として、キーワード一致と意味的近さを組み合わせたハイブリッド検索を組める。

運用とコストのトレードオフ

セルフホスト版(OSS)は無料だが、ノードの冗長化・スナップショット・バージョンアップといった運用負荷が丸ごと自分に乗る。Elastic Cloud はリソースサイズ × 時間の従量課金で、その運用をお金で買う形になる。検索基盤の運用に専任を置けないなら、マネージド版の方が結果的に安いことが多い。

スケール時に効いてくる落とし穴

導入時のつまずきはマッピング設計だ。日本語アナライザの設定や項目型の指定を後から変えるとインデックスの再構築が要る。最初の設計で精度の大枠が決まる。

スケールしてから顕在化するのがシャード設計とメモリ管理だ。インデックスを細かく切りすぎるとシャードが乱立してオーバーヘッドが増え、逆に巨大な単一インデックスは再配置が重くなる。ヒープメモリの上限も性能に直結するため、データ量の伸びを見越したノードサイジングを最初に握っておかないと、運用中盤で苦しくなる。