Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

$listSearchIndexes(集計)

項目一覧

  • 定義
  • 構文
  • コマンドフィールド
  • アクセス制御
  • 出力
  • インデックス ステータスの詳細
  • 同義語マッピングの詳細
  • Atlas Search インデックス ステータス
  • Errors
  • すべての検索インデックスを返します
  • 名前を使用して単一の検索インデックスを返す
  • ID を使用して単一の検索インデックスを返す
  • 詳細
$listSearchIndexes

バージョン 7.0 の新機能: (6.0.7 以降でも利用可能

指定されたコレクションの既存の Atlas Search インデックスに関する情報を返します。

重要

コマンド構文:

db.<collection>.aggregate(
[
{
$listSearchIndexes:
{
id: <indexId>,
name: <indexName>
}
}
]
)

$listSearchIndexes 次のいずれかのフィールドを取ります。

フィールド
タイプ
必要性
説明
id
string
任意
情報を返すインデックスの ID。
name
string
任意
情報を返すインデックスの名前。

idnameを両方指定することはできません。 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 は、ドキュメントの配列を返します。 配列内の各ドキュメントには、次のフィールドが含まれています。

フィールド
タイプ
説明
id
string
インデックスの一意の識別子。
name
string
インデックスの名前。
status
string
インデックスのステータス。 詳細については、「 Atlas Search インデックスのステータス 」を参照してください。
queryable
ブール値
インデックスがクエリの準備ができているかどうかを示します。
latestDefinitionVersion
ドキュメント
インデックスのバージョンを説明します。
latestDefinitionVersion.version
integer
インデックス定義に関連付けられているバージョン番号。 インデックスの定義を更新すると、バージョン番号が自動的に増加します。
latestDefinitionVersion.createdAt
date
現在のインデックス定義が作成された時間。
latestDefinition
ドキュメント
インデックスの最新の定義。 詳しくは、「検索インデックスの定義構文 」を参照してください。
statusDetail
ドキュメントの配列
各検索ホストのインデックスのステータスが含まれます( mongot )。
statusDetail.[n].hostname
string
対応するmongotのホスト名。
statusDetail.[n].status
string
対応するmongotのインデックスのステータス。
statusDetail.[n].queryable
ブール値
対応するmongotでインデックスがクエリされる準備ができているかどうかを示します。
statusDetail.[n].mainIndex
ドキュメント

対応するmongotのアクティブなインデックスに関するステータス情報が含まれます。

詳細については、「インデックス ステータスの詳細」を参照してください。

statusDetail.[n].stagedIndex
ドキュメント

対応するmongotでバックグラウンドでビルド中のインデックスに関するステータス情報が含まれます。 このフィールドは、既存のアクティブなインデックスを更新するために新しいインデックスを作成している場合にのみ表示されます。

詳細については、「インデックス ステータスの詳細」を参照してください。

synonymMappingStatus
string

インデックスのシノニム(同意語)マッピングのステータス。 このフィールドは、インデックスにシノニムが定義されている場合にのみ表示されます。 次のいずれかの値になります。

  • BUILDING

  • FAILED

  • READY

返されるステータスは、個々のmongotのシノニム(同意語)マッピングの概要です。

synonymMappingStatusDetail
ドキュメントの配列
各検索ホストでのインデックスのシノニム マッピングのステータスが含まれます( mongot )。 このフィールド(およびそのサブフィールド)は、インデックスにシノニム(同意語)が定義されている場合にのみ表示されます。
synonymMappingStatusDetail.[n].status
string
すべてのmongotプロセスにわたる対応するシノニム マッピングのステータス。
synonymMappingStatusDetail.[n].queryable
ブール値
対応するシノニム マッピングがすべてのmongotプロセスにわたるクエリをサポートできるかどうかを示します。
message
string
該当する場合、シノニム マッピングのエラーを説明します。 このシノニム マッピングのstatusFAILEDの場合にのみ表示されます。

以下の表では、次のドキュメントの埋め込みフィールドを説明していますstatusDetail.[mongot].mainIndex - statusDetail.[mongot].stagedIndex

フィールドは、特定のmongotのインデックス ステータスを説明します。

フィールド
タイプ
説明
status
string
対応するmongotでのインデックス生成の状態。
queryable
ブール値
インデックス生成が対応するmongotでクエリされる準備ができているかどうかを示します。
synonymMappingStatus
string
対応するmongotでのインデックス生成のシノニム マッピングの状態。 インデックスにシノニム(同意語)が定義されている場合にのみ存在します。
synonymMappingStatusDetails
ドキュメント

対応するmongotでのインデックスのシノニム マッピングのステータスが含まれます。 このフィールド(およびそのサブフィールド)は、インデックスにシノニム(同意語)が定義されている場合にのみ表示されます。

詳細については、 「シノニム(同意語)マッピングの詳細」 を参照してください。

definitionVersion
ドキュメント
このインデックス生成がビルドされるインデックス定義バージョンを説明します。
definitionVersion.version
integer
インデックス生成が対応するmongotで使用しているバージョン番号。 インデックス定義を更新すると、更新されたインデックスは増分されたバージョン番号で構築されます。
definitionVersion.createdAt
date
インデックス定義が作成された時間。
definition
ドキュメント
このインデックスが構築される定義。

以下の表は、次のオブジェクトの埋め込みフィールドを説明したものです。

  • statusDetail.mainIndex.synonymMappingStatusDetails.<synonymMapping>

  • statusDetail.stagedIndex.synonymMappingStatusDetails<synonymMapping>

フィールド
タイプ
説明
status
string
対応するmongotプロセス上の シノニム(同意語)マッピング のステータス。
queryable
ブール値
シノニム マッピングが対応するmongotプロセスでのクエリをサポートできるかどうかを示します。
message
string
該当する場合、シノニム マッピングのエラーを説明します。 このシノニム マッピングのstatusFAILEDの場合にのみ表示されます。

$listSearchIndexes出力のstatusフィールドは次のいずれかになります。

ステータス
説明
BUILDING

次のシナリオでは、インデックスがBUILDING状態になる可能性があります。

  • Atlas はインデックスを構築中、または編集したインデックスを再構築中です。

  • Atlas Search はコレクションのインデックス作成の変更に追いつけません。 この場合、Atlas はバックグラウンドでインデックスを再ビルドします。

インデックスがBUILDING状態の場合:

  • 新しいインデックスの場合、インデックスのビルドが完了するまで、Atlas Search はそのインデックスを クエリに使用できません。

  • 既存インデックスの場合、Atlas Search はインデックスの再構築が完了するまで、クエリに古いインデックス定義を使用します。

BUILDING状態のインデックスは、クエリ可能な場合とクエリできない場合があります。

DOES_NOT_EXIST

インデックスが存在しません。

DOES_NOT_EXIST状態のインデックスは常にクエリ不可です。

DELETING

Atlas はインデックスを削除しています。

DELETING状態のインデックスは常にクエリ不可です。

FAILED

インデックスのビルドに失敗しました。 無効なインデックス定義により、インデックスはFAILED状態になることがあります。

FAILED状態のインデックスは、クエリ可能な場合とクエリできない場合があります。

PENDING

Atlas によるインデックスの構築は開始されていません。

PENDING状態のインデックスは常にクエリ不可です。

READY

インデックスは準備ができており、クエリをサポートできます。

READY状態のインデックスは常にクエリ可能です。

STALE

インデックスはクエリ可能ですが、インデックス付きコレクションからのデータの複製は停止されました。 インデックスを検索すると、古いデータが返される場合があります。

レプリケーション エラーにより、インデックスがSTALE状態になることがあります。

STALE状態のインデックスは常にクエリ可能です。

バージョン 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を含む検索インデックスを返します。

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 インデックスを作成するには、以下を参照してください。

戻る

$listSampledQueries