Docs Menu
Docs Home
/
Atlas

Atlas Search の概要

Atlas Search は、組み込み型の全文検索機能であり、関連性に基づいたアプリ機能をシームレスかつスケーラブルに構築できる環境を提供します。これにより、データベースとは別に検索システムを運用する必要がなくなります。

Atlas Search を使用すると、クラスタ上のデータに対してきめ細かなテキストのインデックス作成とクエリ実行が可能になります。Atlas Search は、複数の種類の テキスト アナライザ、複雑な検索ロジックを構築できる豊富なクエリ言語、スコアに基づく結果のカスタマイズ可能なランキング機能、そしてオート コンプリート、ページネーション、ファセット検索などの高度な検索機能をアプリケーションに提供します。

Atlas Search スタートガイド

Atlas Search は、以下のような多様なユースケースをサポートしています。

以下の概念はAtlas Search の基礎を形成し、アプリケーションを最適化するために不可欠です。

検索クエリは、検索インデックスを参照して結果のセットを返します。検索クエリは、一般的な情報ニーズに応えることを目的としており、従来のデータベース クエリとは異なります。データベース クエリが厳密な構文に従う必要があるのに対し、検索クエリは単純なテキスト マッチに加えて、類似表現の検索、数値や日付の範囲指定、正規表現やワイルドカードの使用も可能です。

Atlas Search クエリは、 集計パイプライン ステージの形式をとります。Atlas Search は、$search ステージと $searchMeta ステージを提供しており、クエリ パイプライン内で他の 集計パイプライン ステージ と組み合わせて使用できます。Atlas Search は、これらの集計パイプライン ステージ内で使用できるクエリ演算子コレクターを提供します。

詳細については、「クエリ & インデックス」を参照してください。

インデックスとは、検索で使用する場合、簡単に検索可能な形式でデータを分類するデータ構造です。検索インデックスを利用すると、コレクション全体をスキャンする必要なしに、指定タームを含むドキュメントをすばやく取得できます。Atlas Search インデックスと MongoDB インデックス はいずれもデータの取得を迅速化しますが、同じものではないことに注意してください。検索インデックスは、本の末尾の索引のようにタームとそのタームを含むドキュメントを紐付けします。検索インデックスには、ドキュメント内のタームの位置付けなど、他の関連メタデータも含まれます。

静的マッピングを使用することで、1 つのフィールドまたは複数のフィールドに対して Atlas Search インデックスを作成できます。または、動的マッピング を有効にすることで、ドキュメント内の動的にインデックス可能なすべてのフィールドを自動的にインデックス化することも可能です。Atlas Search インデックスは、多態的データや埋め込みドキュメントに対して作成でき、入力中の検索(Search-as-you-type)やファセット検索など、特定のユースケースにも対応しています。

詳しくは、「Atlas Search インデックスの管理」を参照してください。

検索インデックスを作成する際は、データをまず一連のトークンまたはタームに変換する必要があります。アナライザが次のようなステップを通じてこのプロセスを促進します。

  • トークン化: 文字列内の単語をインデックスを作成可能なトークンに分割します。たとえば、空白と句読点で文章を区切ります。

  • 正規化: 表現を一貫させ、簡単に分析できるようにデータを整理します。たとえば、テキストを小文字に変換したり、ストップワードと呼ばれる不要な単語を削除したりします。

  • ステミング: 単語を語幹形態まで縮小します。たとえば、接尾辞、接頭辞、複数形の語形を無視します。

トークン化の明細は言語に固有であり、追加の選択が必要になる場合があります。使用するアナライザは、データとアプリケーションによって異なります。

Atlas Search には、いくつかの組み込みのアナライザが用意されています。また、独自のカスタムアナライザを作成することも可能です。multi アナライザを使用して、別のアナライザを指定することもできます。

詳細については、「アナライザによるデータ処理」を参照してください。

クエリ結果に含まれる各ドキュメントには関連度スコアが付与され、このスコアに基づいて最も関連性の高いものから順に結果が返されます。最も基本的なスコアリングでは、クエリ語句がドキュメント内に頻繁に出現するほどスコアが高くなり、コレクション内の多数のドキュメントに登場する場合はスコアが低くなります。スコアリングはカスタマイズすることも可能です。特定のドメインに検索を最適化するには、スコアをブースト(増加)させたり、減衰させたり、他の方法で調整したりして、関連度ベースのデフォルト スコアをカスタマイズすることが一般的です。

詳細については、「ドキュメントのスコアリング」を参照してください。

Atlas Search のインデックス作成やクエリ実行を実際に試すには、『Atlas Search クイックスタート』をご覧ください。

項目一覧