| 分類 | 定義(主要概念) | インデックス構造 | 主な検索方式 | 代表的なツール/例 | 長所 | 短所 |
|---|---|---|---|---|---|---|
| Facet Search | カテゴリ・フィルタ(カテゴリー、価格、色など)に基づき、結果を洗練・分類するUI/検索機能 | メタデータをインデックス化したカテゴリ(カテゴリー)インデックス + 通常検索インデックスと連携 | フィルタリング + 集計(Count)でユーザーが望む範囲に合わせて結果を高速に絞り込む | ElasticSearch, Solr(Facet API)、Algolia、Azure Cognitive Search | ユーザーが直感的に探索できる 大量の結果を高速に絞り込める |
キーワード検索がないと情報探索が難しい カテゴリ定義が不十分だとフィルタリング効果が低下する |
| Vector Search | ドキュメント・画像・音声・テキストを埋め込み(ベクトル)に変換し、意味的類似性を探す検索 | ベクトルインデックス(HNSW、Faiss、Milvus、Pinecone、Qdrantなど) | 距離(コサイン、L2、ドットなど)ベースのANN(Approximate Nearest Neighbor)探索 | Milvus、Pinecone、Qdrant、OpenAI Embeddings + Faiss | 意味・文脈を把握し「類似検索」が可能 キーワードがなくても関連アイテムを検索できる |
ベクトルの品質によって性能が大きく変わる 計算コスト(特に大規模インデックス)とメモリ使用量が大きい |
| Full‑Text Search | テキストをトークン化し、逆インデックス(インバーテッドインデックス)を構築し、キーワードマッチングでドキュメントを検索する従来型検索 | ElasticSearch、Apache Solr、PostgreSQL full-text、Whoosh | キーワードマッチング | ElasticSearch、Apache Solr、PostgreSQL full-text、Whoosh | 高速なインデックス・検索速度 文・句・箇条書きなど洗練されたクエリをサポート |
意味・文脈の把握が限定的 同音異義語などの多義性解決が困難 |
| Metadata Search | 文書の構造化された属性(日付、著者、タグ、位置、ファイル形式など)を基準に検索 | PostgreSQL、MySQL、SQL Server、ElasticSearch フィールド検索、MongoDB クエリ | フィールド検索 | PostgreSQL、MySQL、SQL Server、ElasticSearch フィールド検索、MongoDB クエリ | 特定の属性に対して非常に高い精度 | メタデータが不正確または欠落すると検索品質が急激に低下 文書内容自体を検索しないため、「内容ベース」の検索と併用が必要 |
まとめ
| 分類 | コアの違い | 主な使用目的 |
|---|---|---|
| Facet Search | カテゴリ・フィルタベースの洗練 | 探索、ショッピング、大量データの高速な絞り込み |
| Vector Search | 意味ベースの類似度 | 画像・音声・文書の推薦、自然言語検索 |
| Full‑Text Search | キーワードマッチング | 文書検索、ログ・ニュース・記事検索 |
| Metadata Search | 構造化フィールドマッチング | 文書管理、記録保管、GIS・位置検索 |