Docs Menu
Docs Home
/
MongoDB Atlas
/

Atlas Search クエリの作成と実行

項目一覧

  • サポートされているクライアント
  • 次のステップ

Atlas Search クエリは集計パイプライン ステージの形式をとります。 Atlas Search には $searchステージと$searchMetaステージがあり、いずれも$lookup } サブパイプラインと$unionWithサブパイプラインを含むすべてのクエリ パイプラインの最初のステージである必要があります。 これらのステージは、クエリ パイプライン内の他の集計パイプライン ステージと組み合わせて使用できます。 これらのパイプライン ステージの詳細については、 「 集計パイプライン ステージの選択 」を参照してください。

Atlas Search はクエリ演算子コレクションも備えています。これらツールは$search$searchMeta集計パイプライン ステージ内で使用できます。 Atlas Search 演算子を使用すると、Atlasクラスターのコレクションから関連データを検索して取得できます。 コレクターは、メタデータの検索結果を表すドキュメントを返します。

Atlas Search 演算子を使用して、ターム、フレーズ、地理的な形状と地点、数値、類似ドキュメント、同義語などをクエリできます。正規表現とワイルドカード式を使用して検索することもできます。Atlas Search 複合演算子を使用すると、$search ステージで複数の演算子を組み合わせて複雑な検索を実行したり、Atlas Search によって返されるドキュメントに含めることが不可欠禁止推奨される項目に基づきデータをフィルタリングしたりできます。複合演算子は、$search ステージ自体でドキュメントを一致させたりフィルタリングしたりする目的でも使用できます。$search の後に $match を実行する方法は、$search複合演算子を用いて実行する方法よりパフォーマンスが低くなります。

Atlas Search 演算子の構文、オプション、使用方法の詳細については、「Atlas Search クエリでの演算子とコレクターの使用」を参照してください。

mongod 同じノードで とmongot

クエリを実行する際、Atlas Search は構成済みの読み込み設定(read preference)を使用して、クエリを実行するノードを識別します。クエリはまず MongoDB プロセスに送られます。このプロセスは、レプリカセット クラスターの場合は mongod、シャーディングされたクラスターの場合は mongos です。

レプリカセット クラスターの場合、MongoDB プロセスは同じノード上のmongotにクエリをルーティングします。 シャーディングされたクラスターの場合、クラスター データはmongodインスタンス全体で分割されます。各mongotは、同じノード上にあるmongodのデータのみを認識するため、 特定のシャードを対象とする Atlas Search クエリは実行できません。 mongosはクエリをすべてのシャードに送り、これらをscatter-gatherパターンのクエリにします。 ゾーンを使用してシャーディングされたコレクションをクラスター内のシャードのサブセットにわたって分散する場合、Atlas Search はクエリしているコレクションのシャードを含むゾーンにクエリをルーティングして、次のシャードのみで$searchクエリを実行します。コレクションが配置されている。

Atlas Search は検索とスコアリングを実行し、一致する結果のドキュメント ID とその他の検索メタデータをmongodに返します。 次に、 mongodは一致する結果のクエリをドキュメント全体で暗黙的に実行し、その結果をクライアントに返します。 クエリで$search同時実行オプションを使用すると、Atlas Search はクエリ内並列処理を有効にします。 詳細については、「セグメント間でのクエリ実行の並列化 」を参照してください。

mongod 異なるノードの とmongot

クエリは実行されると、 構成済みの読みこみ設定(read preference ) に基づいてまずmongodに送信されます。 mongodプロセスは、同一ノード上のロード バランサーを通じて検索クエリを転送します。その結果、 mongotプロセス全体にリクエストが分散されます。

Atlas Search mongotプロセスは検索とスコアリングを実行し、一致する結果のドキュメント ID とメタデータをmongodに返します。 次に、 mongodはドキュメント全体で一致する結果の検索を実行し、その結果をクライアントに返します。 クエリで$search同時実行オプションを使用すると、Atlas Search はクエリ内並列処理を有効にします。 詳細については、「セグメント間でのクエリ実行の並列化 」を参照してください。

Atlas Search は関連性ベースのスコアを結果セット内の各ドキュメントに関連付けます。関連性を基準にスコアリングすることで、スコアの高いものから低いものの順にドキュメントを返すことができます。スコアは、クエリ用語がドキュメントに頻繁に表示される場合は高く、クエリ用語がコレクション内の多数のドキュメントにわたり表示される場合は低くなります。Atlas Search では、boost、decay などのスコアの変更関数を使用することで、関連性ベースのデフォルト スコアをカスタマイズすることもできます。結果内のスコアをカスタマイズする方法の詳細については、「結果内のドキュメントのスコアリング」を参照してください。

Tip

その他の参照: ビデオで学ぶ

Atlas Search でクエリを検索、追跡する方法の概要については、こちらのビデオをご覧ください。このビデオでは、Atlas Search 演算子と、Atlas Search が結果内のドキュメントをスコア付けする方法について詳しく説明しています。

所要時間: 15 分

次の方法を使用して、Atlas Search クエリを作成および実行できます。

クエリを作成および実行する方法については、「 クエリの作成」を参照してください。 Atlas Search インデックスの作成、およびサンプル データセットに対する Atlas Search クエリの実行に関する実践的な情報については、次のページのチュートリアルをお試しください。

戻る

Update