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