【ぜんぶんけんさく】
全文検索 とは?
💡 大量のテキストから「キーワードで素早く見つけ出す」検索技術
📌 このページのポイント
LIKE '%キーワード%'じゃだめなの?
転置インデックスって何?
日本語の全文検索って難しいの?
Elasticsearchってデータベースの全文検索とは違うもの?
MySQLやPostgreSQLにも全文検索機能はあるけど、Elasticsearchは全文検索に特化した専用エンジン。スコアリング、ファセット検索、曖昧検索、シノニム(同義語)対応など、検索周りの機能が段違いに豊富。ただしElasticsearchを導入すると「メインDBとElasticsearchのデータ同期」という新たな課題が生まれる。リアルタイムで同期するかバッチで同期するか、同期が遅延した場合に検索結果と実データが不整合になる問題をどう許容するかなど、運用面の設計がかなり難しいんだ。
まとめ:ざっくりこれだけ覚えればOK!
全文検索って出てきたら「転置インデックスで大量テキストからキーワードを高速に探す仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Full-Text Search」 = 全文(Full-Text)検索(Search)
💬 テキスト全体を対象にする検索という意味。部分一致(LIKE)よりはるかに高速で高機能