$listSearchIndexes(集計)
項目一覧
定義
バージョン 7.0 の新機能: (6.0.7 以降でも利用可能)
指定されたコレクションの既存の Atlas Search インデックスに関する情報を返します。
重要
このコマンドは、 MongoDB Atlas でホストされている配置でのみ実行でき、 サーバーレスインスタンス で はサポートされていません 。
構文
コマンド構文:
db.<collection>.aggregate( [ { $listSearchIndexes: { id: <indexId>, name: <indexName> } } ] )
コマンドフィールド
$listSearchIndexes
次のいずれかのフィールドを取ります。
フィールド | タイプ | 必要性 | 説明 |
---|---|---|---|
| string | 任意 | 情報を返すインデックスの ID。 |
| string | 任意 | 情報を返すインデックスの名前。 |
id
とname
を両方指定することはできません。 id
フィールドとname
フィールドの両方を省略すると、$listSearchIndexes
はコレクションのすべての Atlas Search インデックスに関する情報を返します。
アクセス制御
配置でアクセス制御を強制する場合、 $listSearchIndexes
を実行しているユーザーは、データベースまたはコレクションに対する listSearchIndexes
特権アクションを持っている必要があります。
{ resource: { db : <database>, collection: <collection> }, actions: [ "listSearchIndexes" ] }
組み込みのread
ロールにはlistSearchIndexes
特権が付与されます。 次の例では、 qa
データベースでread
ロールを付与しています。
db.grantRolesToUser( "<user>", [ { role: "read", db: "qa" } ] )
出力
$listSearchIndexes
は、ドキュメントの配列を返します。 配列内の各ドキュメントには、次のフィールドが含まれています。
フィールド | タイプ | 説明 |
---|---|---|
| string | インデックスの一意の識別子。 |
| string | インデックスの名前。 |
| string | インデックスのステータス 。詳細については、「 Atlas Search インデックスのステータス 」を参照してください。 |
| ブール値 | インデックスがクエリの準備ができているかどうかを示します。 |
| ドキュメント | インデックスのバージョンを説明します。 |
| integer | インデックス定義に関連付けられているバージョン番号。 インデックスの定義を更新すると、バージョン番号が自動的に増加します。 |
| date | 現在のインデックス定義が作成された時間。 |
| ドキュメント | インデックスの最新の定義。 詳しくは、「検索インデックスの定義構文 」を参照してください。 |
| ドキュメントの配列 | 各検索ホストのインデックスのステータスが含まれます( |
| string | 対応する |
| string | 対応する |
| ブール値 | 対応する |
| ドキュメント | 対応する 詳細については、「 インデックス ステータスの詳細 」を参照してください。 |
| ドキュメント | 対応する 詳細については、「 インデックス ステータスの詳細 」を参照してください。 |
| string | インデックスのシノニム(同意語)マッピングのステータス。 このフィールドは、インデックスにシノニムが定義されている場合にのみ表示されます。 次のいずれかの値になります。
返されるステータスは、個々の |
| ドキュメントの配列 | 各検索ホストでのインデックスのシノニム マッピングのステータスが含まれます( |
| string | すべての |
| ブール値 | 対応するシノニム マッピングがすべての |
| string | 該当する場合、シノニム マッピングのエラーを説明します。 このシノニム マッピングの |
インデックス ステータスの詳細
以下の表では、次のドキュメントの埋め込みフィールドを説明していますstatusDetail.[mongot].mainIndex
- statusDetail.[mongot].stagedIndex
フィールドは、特定のmongot
のインデックス ステータスを説明します。
フィールド | タイプ | 説明 |
---|---|---|
| string | 対応する |
| ブール値 | インデックス生成が対応する |
| string | 対応する |
| ドキュメント | 対応する 詳細については、 「シノニム(同意語)マッピングの詳細」 を参照してください。 |
| ドキュメント | このインデックス生成がビルドされるインデックス定義バージョンを説明します。 |
| integer | インデックス生成が対応する |
| date | インデックス定義が作成された時間。 |
| ドキュメント | このインデックスが構築される定義。 |
同義語マッピングの詳細
以下の表は、次のオブジェクトの埋め込みフィールドを説明したものです。
statusDetail.mainIndex.synonymMappingStatusDetails.<synonymMapping>
statusDetail.stagedIndex.synonymMappingStatusDetails<synonymMapping>
フィールド | タイプ | 説明 |
---|---|---|
| string | 対応する |
| ブール値 | シノニム マッピングが対応する |
| string | 該当する場合、シノニム マッピングのエラーを説明します。 このシノニム マッピングの |
Atlas Search インデックス ステータス
$listSearchIndexes
出力のstatus
フィールドは次のいずれかになります。
ステータス | 説明 |
---|---|
| 次のシナリオでは、インデックスが
インデックスが
|
| インデックスが存在しません。
|
| Atlas はインデックスを削除しています。
|
| インデックスのビルドに失敗しました。 無効なインデックス定義により、インデックスは
|
| Atlas によるインデックスの構築は開始されていません。
|
| インデックスは準備ができており、クエリをサポートできます。
|
| インデックスはクエリ可能ですが、インデックス付きコレクションからのデータの複製は停止されました。 インデックスを検索すると、古いデータが返される場合があります。 レプリケーション エラーにより、インデックスが
|
Errors
バージョン 7.1 での変更: このコマンドは Atlas で実行されない場合、エラーをスローします。
db.names.aggregate( [ { $listSearchIndexes: { } } ] )
MongoServerError: PlanExecutor error during aggregation :: caused by :: Search index commands are only supported with Atlas.
以前のリリースでは、このコマンドは Atlas で実行されない場合、空の結果を返します。
例
これらの例は、次の方法を示しています。
すべての検索インデックスを返します
次の例では、 movies
コレクションのすべての Atlas Search インデックスを返します。
db.movies.aggregate( [ { $listSearchIndexes: { } } ] )
出力例:
[ { id: '6524096020da840844a4c4a7', name: 'default', status: 'BUILDING', queryable: true, latestDefinitionVersion: { version: 2, createdAt: ISODate("2023-10-09T14:51:57.355Z") }, latestDefinition: { mappings: { dynamic: true }, storedSource: { include: [ 'awards.text' ] } }, statusDetail: [ { hostname: 'atlas-n1cm1j-shard-00-02', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } }, stagedIndex: { status: 'PENDING', queryable: false, definitionVersion: { version: 1, createdAt: ISODate("2023-10-09T14:51:29.000Z") }, definition: { mappings: { dynamic: true, fields: {} }, storedSource: true } } }, { hostname: 'atlas-n1cm1j-shard-00-01', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } }, stagedIndex: { status: 'PENDING', queryable: false, definitionVersion: { version: 1, createdAt: ISODate("2023-10-09T14:51:29.000Z") }, definition: { mappings: { dynamic: true, fields: {} }, storedSource: true } } }, { hostname: 'atlas-n1cm1j-shard-00-00', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } } } ] }, { id: '65240be420da840844a4d077', name: 'synonym_mappings', status: 'READY', queryable: true, latestDefinitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.305Z") }, latestDefinition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ], statusDetail: [ { hostname: 'atlas-n1cm1j-shard-00-02', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-01', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-00', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } } ] } ]
名前を使用して単一の検索インデックスを返す
次の例では、 movies
コレクションでsynonym-mappings
という名前のインデックスを返します。
db.movies.aggregate( [ { $listSearchIndexes: { name: "synonym-mappings" } } ] )
出力例:
[ { id: '65240be420da840844a4d077', name: 'synonym_mappings', status: 'READY', queryable: true, latestDefinitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.305Z") }, latestDefinition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ], statusDetail: [ { hostname: 'atlas-n1cm1j-shard-00-02', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-01', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-00', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } } ] } ]
ID を使用して単一の検索インデックスを返す
次の例では、指定されたid
を含む検索インデックスを返します。
db.movies.aggregate( [ { $listSearchIndexes: { id: "6524096020da840844a4c4a7" } } ] )
出力例:
[ { id: '6524096020da840844a4c4a7', name: 'default', status: 'BUILDING', queryable: true, latestDefinitionVersion: { version: 2, createdAt: ISODate("2023-10-09T14:51:57.355Z") }, latestDefinition: { mappings: { dynamic: true }, storedSource: { include: [ 'awards.text' ] } }, statusDetail: [ { hostname: 'atlas-n1cm1j-shard-00-02', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } }, stagedIndex: { status: 'PENDING', queryable: false, definitionVersion: { version: 1, createdAt: ISODate("2023-10-09T14:51:29.000Z") }, definition: { mappings: { dynamic: true, fields: {} }, storedSource: true } } }, { hostname: 'atlas-n1cm1j-shard-00-01', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } }, stagedIndex: { status: 'PENDING', queryable: false, definitionVersion: { version: 1, createdAt: ISODate("2023-10-09T14:51:29.000Z") }, definition: { mappings: { dynamic: true, fields: {} }, storedSource: true } } }, { hostname: 'atlas-n1cm1j-shard-00-00', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } } } ] } ]
詳細
mongosh
メソッドを使用して Atlas Search インデックスを表示するには、 db.collection.getSearchIndexes()
を参照してください。
Atlas Search インデックスを作成するには、以下を参照してください。
db.collection.createSearchIndex()
mongosh
メソッドcreateSearchIndexes
データベースコマンド