$search.tracking リクエストに対して、指定された日付以降、Atlas はクエリデータの収集を停止し、Atlas UI での表示もなくなります。この機能の UI は削除されます。ご不明な点やサポートをご希望の場合は、MongoDBサポートポータルからサポートチームまでお問い合わせいただくか、担当アカウントエグゼクティブまでご連絡ください。MongoDB Search tracking オプションを使用すると、検索クエリを追跡できます。クエリを追跡すると、Atlas は検索タームを追跡し、クエリ内の検索タームに関する分析情報を提供します。分析情報を使用して、検索アプリケーションの品質を向上させ、関連する結果を返すようにクエリを調整できます。
注意
MongoDB Search tracking オプションによって返される分析情報を利用するには、M10 以上のクラスターが必要です。Atlas は、無料クラスターと Flex クラスターでは、検索タームを追跡したり、クエリの分析情報を表示したりしません。
構文
{ $search: { "index": "<index name>", "<operator>": { <operator-specification> }, "tracking": { "searchTerms": "<term-to-search>" } } }
オプション
フィールド | タイプ | 説明 | 必要性 |
|---|---|---|---|
| string | 追跡するクエリに関連付けられたテキストまたはターム。 クエリごとに指定できるタームは 1 つだけです。 | 必須 |
動作
Atlas は、クラスター上の各MongoDB Searchインデックスについて、そのインデックスを使用して実行された追跡検索タームについて、次のメトリクスを収集します。
追跡されたタームのMongoDB Search クエリの数。
MongoDB Search が追跡対象のタームのクエリに対して結果を返さなかった回数です。
Atlas は、追跡された検索タームの 1 日あたりのクエリ数をカウントします。 Atlas では、追跡された $searchクエリから毎日クラスターごとに取得される検索タームの数に制限があります。 Atlas が 制限に達すると、新しい一意の検索タームは取得されなくなります。 ただし、Atlas が 制限に達して取得を停止した後の 1 日間、過去に追跡されたタームのクエリを実行すると、その日の制限に関係なく、Atlas はそれらのタームのカウンターを増加させ続けます。
Atlas は、追跡されるタームの数、追跡されるタームのカウント、および追跡される検索タームの数の制限を UTCの毎日の先頭にリセットします。
例
この例では、Atlas が追跡されているタームをカウントする方法を示しています。 次のように、 summerというタームのクエリを実行するとします。
Atlas がその日に追跡される検索タームの数の制限に達する 日前。 次に、1 日目に、Atlas は
summerのクエリ数をカウントし、summerがその日の検索タームの上位に含まれている場合は、summerで使用可能なメトリクスをカウントします。Atlas がその日の追跡検索ターム数の制限に達した前後の 2 日目。 次に、2 日目に、Atlas は追跡検索タームの数の制限に達する前後で
summerのクエリ数をカウントし、summerが上位検索タームの 1 つである場合、summerで使用可能なメトリクスは指定します。Atlas がその日に追跡される検索タームの数の制限に達した後 3 日目。 その後 3 日目に、Atlas はターム
summerのクエリをカウントせず、その日のsummerではメトリクスは使用できません。
MongoDB Search では、クエリを処理するために、tracking オプションで指定したタームは使用されません。また、tracking オプションで指定した検索タームは、 MongoDB Search がクエリに対して返す結果には影響しません。
出力
MongoDB Searchインデックスの Atlas UI Query Analytics ページで、tracking オプションを使用して追跡されたクエリのメトリクスを表示できます。詳しくは、「クエリ分析ページに移動する」を参照してください。
Query Analyticsページには、現在日、過去 7 日間、過去 30 日間、過去 90 日間などの事前定義された日付範囲、または指定したカスタム範囲( UTC )に関する 1 日ごとの粒度が表示されます:
詳しくは、「クエリ分析の表示 」を参照してください。
例
sample_mflix.moviesコレクションに対する次のクエリは、titleフィールドで summer というタームを検索します。クエリは tracking オプション(強調表示)を使用して、 MongoDB Search がクエリタームsummer の分析情報を取得できるようにします。クラスターにサンプルデータがあり、コレクションの titleフィールドに default という名前のMongoDB Searchインデックスがある場合は、クラスターの sample_mflix.moviesコレクションに対して次のクエリを実行できます。サンプルデータのロードとMongoDB Searchインデックスの作成の詳細については、 MongoDB Search クイック スタートチュートリアルを参照してください。
db.movies.aggregate([ { "$search": { "text": { "query": "summer", "path": "title" }, "tracking": { "searchTerms": "summer" } } }, { "$limit": 5 }, { "$project": { "_id": 0, "title": 1 } } ])
[ { title: 'Summer' }, { title: 'Summer Stock' }, { title: 'Early Summer' }, { title: 'Summer Interlude' }, { title: 'Violent Summer' } ]
このクエリを実行すると、Atlas が追跡検索タームのデータを収集している場合、インデックスのQuery Analyticsページでそのクエリに関するメトリクスを表示できます。 詳しくは、「クエリ分析の表示 」を参照してください。