Docs Menu
Docs Home
/
Atlas
/ / / /

検索タームの追跡

MongoDB Search tracking オプションを使用すると、検索クエリを追跡できます。クエリを追跡すると、Atlas は検索タームを追跡し、クエリ内の検索タームに関する分析情報を提供します。分析情報を使用して、検索アプリケーションの品質を向上させ、関連する結果を返すようにクエリを調整できます。

注意

MongoDB Search tracking オプションによって返される分析情報を利用するには、M10 以上のクラスターが必要です。Atlas は、無料クラスターと Flex クラスターでは、検索タームを追跡したり、クエリの分析情報を表示したりしません。

{
$search: {
"index": "<index name>",
"<operator>": {
<operator-specification>
},
"tracking": {
"searchTerms": "<term-to-search>"
}
}
}
フィールド
タイプ
説明
必要性

searchTerms

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ページでそのクエリに関するメトリクスを表示できます。 詳しくは、「クエリ分析の表示 」を参照してください。

項目一覧