AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

mongotの構成

YAML 構成ファイルを使用して、MongoDB Search とベクトル検索配置の mongot を構成します。

Tip

Kubernetes Operator 配置用の MongoDB Controllers の場合、MongoDBSearch カスタム リソースを使用して mongot を構成できます。詳細については、MongoDBSearchを参照してください。

次の例は、MongoDB Community を使用した自己管理型 mongot 配置の利用可能なすべての設定を含む完全な構成構造を示しています。

syncSource:
replicaSet: <object>
hostAndPort: <string or list of strings>
x509: <object>
caFile: <string>
tlsCertificateKeyFile: <string>
tlsCertificateKeyFilePasswordFile: <string>
scramAuth: <object>
username: <string>
passwordFile: <string>
authSource: <string>
tls: <object>
enabled: <boolean>
caFile: <string>
tlsCertificateKeyFile: <string>
tlsCertificateKeyFilePasswordFile: <string>
router: <object>
hostAndPort: <string or list of strings>
x509: <object>
caFile: <string>
tlsCertificateKeyFile: <string>
tlsCertificateKeyFilePasswordFile: <string>
scramAuth: <object>
username: <string>
passwordFile: <string>
authSource: <string>
tls: <object>
enabled: <boolean>
caFile: <string>
tlsCertificateKeyFile: <string>
tlsCertificateKeyFilePasswordFile: <string>
replicationReader:
readPreference: <string>
tagSets: <string or list of strings>
storage: <object>
dataPath: <string>
server: <object>
grpc: <object>
address: <string>
tls: <object>
mode: <string>
certificateKeyFile: <string>
certificateKeyFilePasswordFile: <string>
caFile: <string>
name: <string>
metrics: <object>
enabled: <boolean>
address: <string>
healthCheck: <object>
address: <string>
logging: <object>
verbosity: <string>
logPath: <string>
embedding:
providerEndpoint: <string>
queryKeyFile: <string>
indexingKeyFile: <string>
isAutoEmbeddingViewWriter: <boolean>
advancedConfigs: <object>
indexing: <object>
lucene: <object>
refresh: <object>
intervalMs: <int>
mergePolicy: <object>
tiered: <object>
vectorMergePolicy: <object>
mergeBudgetMb: <int>
mergeScheduler: <object>
concurrent: <object>
maxThreadCount: <int>
fieldLimit: <int>
querying: <object>
lucene: <object>
maxClauseLimit: <int>
vectorFloorSegmentMB: <double>
replication: <object>
mongodb: <object>
numConcurrentInitialSyncs: <int>
numConcurrentChangeStreams: <int>
numIndexingThreads: <int>
numConcurrentSynonymSyncs: <int>
autoEmbedding: <object>
materializedView: <object>
numConcurrentChangeStreams: <int>
numIndexingThreads: <int>
numEmbeddingThreads: <int>
numConcurrentInitialSyncs: <int>
matViewWriterMaxConnections: <int>
mvWriteRateLimitRps: <int>
embeddingProviderRpsLimit: <int>
ftdc: <object>
enabled: <boolean>
directorySizeMb: <int>
fileSizeMb: <int>
collectionPeriodMillis: <int>

このセクションでは、すべての mongot 配置に必要な設定について説明します。必要な設定のみを定義すると、 mongot はすべての任意設定にデフォルトを使用します。

syncSource.replicaSet

: オブジェクト

mongotmongod へのレプリケーション接続。

syncSource.replicaSet.hostAndPort

タイプ: string または string のリスト

mongod 接続文字列でシードリストを構築するために使用される1つ以上のホストとポート指定子。提供される指定子の数にかかわらず、mongot はスタンドアロン モードではなく、レプリカセット モードで接続を確立します。

storage.dataPath

タイプ: string

mongot がインデックスデータとローカルインデックスカタログを保存するためのベース パスとして使用する必要があるパス。

server

: オブジェクト

mongot クエリ サーバーの設定。

server.grpc

: オブジェクト

mongotmongod間の gRPC 通信のリスンサーバー設定。

server.grpc.address

タイプ: string

gRPC listenサーバーがリスンするアドレス。次の形式を使用します。

<host>:<port>

自己管理型配置では、このアドレスは、検索とインデックスのマネジメントトラフィックを mongot に送信する mongod プロセスからアクセス可能である必要があります。mongodmongotHostsearchIndexManagementHostAndPort の設定に使用するホストとポートに一致するように設定します。

単一ホスト開発の場合、localhost が最も安全なデフォルトです。mongodmongot が異なるホストで実行される場合は、server.grpc.addressmongod がアクセスできるインターフェースに設定します。

警告

システムトポロジーによっては、mongot クエリサーバーをMongoDBクラスターからアクセスできるインターフェースにバインドする必要がある場合があります。 0.0.0.0 IPアドレスへのバインディングは許可されていますが、サーバーがすべてのパブリック ネットワークに公開され、不正アクセスのリスクが生じます。

セキュリティを強化するには、localhost やその他の信頼できる内部アドレスなど、ネットワークレイヤーで制御および保護されている特定のインターフェースに server.grpc.address を制限することを検討してください。

このセクションでは、mongotの任意設定と条件付きで必要な設定について説明します。これらの設定を省略すると、mongotは必要に応じて指定されたデフォルト値を使用します。

syncSource.replicaSet.x509

: オブジェクト

必要性: syncSource.replicaSet.scramAuth を使用しない場合は必要です

X.509 で mongotmongod で認証するための証明書設定。

syncSource.replicaSet.x509.caFile

タイプ: string

必要性: syncSource.replicaSet.x509 を使用する場合は必須です

mongod が提示する証明書を検証するための信頼された証明書を含む証明書認証機関 (CA) ファイル。ファイルには、PEM 形式の X.509 証明書コレクションが含まれている必要があります。

syncSource.replicaSet.x509.tlsCertificateKeyFile

タイプ: string

必要性: syncSource.replicaSet.x509 を使用する場合は必須です

mongotmongod で認証するための X.509 証明書と秘密キーを含む PEM ファイルへのパス。syncSource.replicaSet.x509 を構成する場合に必要です。

syncSource.replicaSet.x509.tlsCertificateKeyFilePasswordFile

タイプ: string

必要性: 任意

syncSource.replicaSet.x509.tlsCertificateKeyFile で指定された証明書鍵ファイルを復号化するためのパスワードを含むファイルへのパス。

syncSource.replicaSet.scramAuth

: オブジェクト

必要性: syncSource.replicaSet.x509 を使用しない場合は必要です

SCRAM 認証の設定。

syncSource.replicaSet.scramAuth.username

タイプ: string

必要性: 必須

認証するユーザー名。

syncSource.replicaSet.scramAuth.passwordFile

タイプ: string

必要性: 必須

認証するためのパスワードを含むファイルへのパス。

syncSource.replicaSet.scramAuth.authSource

タイプ: string

必要性: 任意

デフォルト: admin

mongot 認証情報に関連付けられているデータベースの名前。

syncSource.replicaSet.scramAuth.tls

: オブジェクト

必要性: 任意

デフォルト: false

TLS の設定。

syncSource.replicaSet.scramAuth.tls.enabled

タイプ: ブール値

必要性: syncSource.replicaSet.scramAuth.tls を指定する場合は必須

TLS 認証を有効にするためのフラグ。TLS 認証を有効にするには true に設定します。

syncSource.replicaSet.scramAuth.tls.caFile

タイプ: string

必要性: 任意

mongod が提示する証明書を検証するための信頼された証明書を含む証明書認証機関 (CA) ファイル。ファイルには、PEM 形式の X.509 証明書コレクションが含まれている必要があります。

syncSource.replicaSet.scramAuth.tls.tlsCertificateKeyFile

タイプ: string

必要性: 任意

mongotmongod で認証するための x.509 証明書と秘密キーを含む PEMファイルへのパス。

syncSource.replicaSet.scramAuth.tls.tlsCertificateKeyFilePasswordFile

タイプ: string

必要性: 任意

syncSource.replicaSet.scramAuth.tls.tlsCertificateKeyFile で指定された証明書鍵ファイルを復号化するためのパスワードを含むファイルへのパス。

syncSource.router

: オブジェクト

mongotmongos へのレプリケーション接続。省略された場合、mongot はシャーディングされていない環境で実行されていると見なされます。シャーディングされたクラスターの配置に必要です。

syncSource.router.x509

: オブジェクト

必要性: syncSource.router.scramAuth を使用しない場合は必要です

X.509 で mongotmongos で認証するための証明書設定。

syncSource.router.x509.caFile

タイプ: string

必要性: syncSource.router.x509 を使用する場合は必須です

mongos が提示する証明書を検証するための信頼された証明書を含む証明書認証機関 (CA) ファイル。ファイルには、PEM 形式の X.509 証明書コレクションが含まれている必要があります。

syncSource.router.x509.tlsCertificateKeyFile

タイプ: string

必要性: syncSource.router.x509 を使用する場合は必須です

mongotmongos で認証するための X.509 証明書と秘密キーを含む PEM ファイルへのパス。syncSource.router.x509 を構成する場合に必要です。

syncSource.router.x509.tlsCertificateKeyFilePasswordFile

タイプ: string

必要性: 任意

syncSource.router.x509.tlsCertificateKeyFile で指定された証明書鍵ファイルを復号化するためのパスワードを含むファイルへのパス。

syncSource.router.scramAuth

: オブジェクト

必要性: syncSource.router.x509 を使用しない場合は必要です

SCRAM 認証の設定。

syncSource.router.scramAuth.username

タイプ: string

必要性: 必須

認証するユーザー名。

syncSource.router.scramAuth.passwordFile

タイプ: string

必要性: 必須

認証するためのパスワードを含むファイルへのパス。

syncSource.router.scramAuth.authSource

タイプ: string

必要性: 任意

mongot認証情報に関連付けられているデータベースの名前。指定されていない場合、authSource はデフォルトで admin になります。

syncSource.router.scramAuth.tls

: オブジェクト

必要性: 任意

デフォルト: false

TLS の設定。

syncSource.router.scramAuth.tls.enabled

タイプ: ブール値

必要性: syncSource.router.scramAuth.tls を指定する場合は必須

TLS 認証を有効にするためのフラグ。TLS 認証を有効にするには true に設定します。

syncSource.router.scramAuth.tls.caFile

タイプ: string

必要性: 任意

mongos が提示する証明書を検証するための信頼された証明書を含む証明書認証機関 (CA) ファイル。ファイルには、PEM 形式の X.509 証明書コレクションが含まれている必要があります。

syncSource.router.scramAuth.tls.tlsCertificateKeyFile

タイプ: string

必要性:任意。

mongotmongos で認証するための x.509 証明書と秘密キーを含む PEMファイルへのパス。

syncSource.router.scramAuth.tls.tlsCertificateKeyFilePasswordFile

タイプ: string

syncSource.router.scramAuth.tls.tlsCertificateKeyFile で指定された証明書鍵ファイルを復号化するためのパスワードを含むファイルへのパス。

syncSource.replicationReader

: オブジェクト

レプリケーションのためにレプリカセットから読み取る際に、mongot が使用する読み込み設定(read preference)を制御します。

レプリカセットのタグに基づいて読み取りをフィルターするには、syncSource.replicationReader.tagSets を指定します。

syncSource.replicationReader.readPreference

タイプ: string

デフォルト: secondaryPreferred

レプリケーション操作で mongot が使用する読み込み設定(read preference)です。次の値を指定できます:

  • primary

  • primaryPreferred

  • secondary

  • secondaryPreferred

  • nearest

注意

インデックス管理コマンドは、この設定に関係なく、常に primary 読み込み設定(read preference)を使用します。

syncSource.replicationReader.tagSets

Type: Array

レプリケーション読み取りを受信するレプリカセットのノードをフィルターするタグセットの配列。syncSource.replicationReader.readPreferenceprimary の場合、この設定を構成できません。

tagSets の各要素は、レプリカセット ノードタグに対応する { name: <name>, value: <value> } オブジェクトの配列です。mongot はタグセットを順番に評価し、ノードにマッチする最初のタグセットを使用します。たとえば、

tagSets:
- [ { name: hostname, value: mongod1 },
{ name: region, value: us-east-1 } ]

server.grpc.address設定が必要です。その他の server.grpc 設定はすべて任意です。

server.grpc.tls

: オブジェクト

gRPC リステン サーバーの TLS 構成オプション。

server.grpc.tls.mode

タイプ: string

gRPC サーバーの TLS モード。次のいずれかの値である必要があります。

  • "TLS"

  • "mTLS"

  • "disabled"

server.grpc.tls を構成する場合に必要です。

server.grpc.tls.certificateKeyFile

タイプ: string

PKCS#8 秘密キーを使用して mongot の有効な X.509 証明書を含む PEM ファイル。mongod は、--tlsCAFile オプションで指定した証明書発行者 (CA) ファイルを使用してこの証明書を検証します。server.grpc.tls.mode"TLS" または "mTLS" の場合に必要です。

server.grpc.tls.certificateKeyFilePasswordFile

タイプ: string

server.grpc.tls.certificateKeyFile で指定された証明書鍵ファイルを復号化するためのパスワードを含むファイルへのパス。

server.grpc.tls.caFile

タイプ: string

mongod が提示する証明書を検証するための信頼された証明書を含む証明書認証機関 (CA) ファイル。ファイルには PEM 形式の X.509 証明書コレクションが含まれている必要があります。server.grpc.tls.mode"mTLS" の場合は必須です。

server.name

タイプ: string

mongot インスタンスを識別するためのユーザー提供名。MongoDB は、$listSearchIndexes などのプログラムによるインターフェースを使用して mongot ホストを識別するために server.name を使用します。この設定を省略すると、MongoDB は名前を自動的に生成します。

metrics

: オブジェクト

mongot Prometheus メトリクス エンドポイント リスナーの設定。

metrics.enabled

タイプ: ブール値

デフォルト: false

Prometheus メトリクス エンドポイントを有効にするフラグ。これを false に設定すると、MongoDB は metrics ブロック内の他の設定の構文を解析して検証しますが、Prometheus メトリクス リスナーは起動しません。metrics を構成する場合に必要です。

metrics.address

タイプ: string

デフォルト: localhost:9946

Prometheus /metrics エンドポイントが公開されるソケット アドレス(IPv4 または IPv6)。次の形式を使用します。

<host>:<port>
healthCheck

: オブジェクト

mongotヘルスチェックエンドポイントとなる接続されたデバイスの設定。ヘルスチェックエンドポイントを無効にすることはできませんが、リステンアドレスは構成できます。

healthCheck.address

タイプ: string

デフォルト: localhost:8080

ヘルスチェックリッスナーがリッスンするアドレス。次の形式を使用します。

<host>:<port>
logging

: オブジェクト

ログ記録 のオプション。

logging.verbosity

タイプ: string

デフォルト: INFO

ログの冗長。値は有効な Logback ログレベルである必要があります。

logging.logPath

タイプ: string

mongot が Logback ファイル アプリケーションを使用してログを書き込むファイルへのパス。この設定を省略すると、MongoDB はログファイル アプリケーションを作成または構成しません。

自動埋め込みを有効にするには、次の設定を行います。

注意

  • queryKeyFileindexingKeyFile はペアとして機能します。いずれかのファイルを設定しない場合、mongot は警告をログし、自動埋め込みを無効にします。

  • providerEndpoint 任意です。設定すると、mongot は構成された埋め込みサービスエンドポイントの上書きとして適用します。

  • isAutoEmbeddingViewWriter 省略するとデフォルトで false になります。

embedding.providerEndpoint

タイプ: string

埋め込みプロバイダーエンドポイントとなる接続されたデバイスの URL。デフォルトの埋め込みプロバイダーエンドポイントの任意の上書き換え。mongot にデフォルトのエンドポイントではなく、特定のプロバイダーエンドポイントとなる接続されたデバイスに埋め込みリクエストを送信する場合は、これを使用します。

embedding.queryKeyFile

タイプ: string

クエリー時間の埋め込みリクエストのキーが含まれるファイルへのパス。自動埋め込みに必要です。

embedding.indexingKeyFile

タイプ: string

インデックス時間埋め込みリクエストのキーが含まれているファイルへのパス。自動埋め込みに必要です。

embedding.isAutoEmbeddingViewWriter

タイプ: ブール値

自動埋め込みビューの書き込みを担当するリーダー mongot インスタンスを指定するフラグ。true の場合、この mongot インスタンスは自動埋め込みマテリアライズドビューの更新の書き込み役を果たします。

単一インスタンス配置の場合は、インスタンスが自動埋め込みビューを書き込めることを有効にするため、これを true に設定します。

レプリカセットまたはシャーディングされたクラスターに複数の mongot インスタンスがある場合は、1 つのインスタンスのみが自動埋め込みビューを書き込み、重複や競合を防止するようにしてください。値を次のように設定します。

  • true により、自動埋め込みビューの書き込みを担当するリージョンとして mongotインスタンスを指定するようになりました。

  • false 自動埋め込みビューを書き込まないフォロワーとして mongot インスタンスを指定するため。

advancedConfigs.autoEmbedding.materializedView.numConcurrentChangeStreams

タイプ : 整数

必要性: 任意

デフォルト: ホストの CPU コア数の 2 倍

マテリアライズドビューのレプリケーションプロセスが同時に持つことができる安定状態の変更ストリームの最大数。正の整数である必要があります。

advancedConfigs.autoEmbedding.materializedView.numIndexingThreads

タイプ : 整数

必要性: 任意

デフォルト: ホストの CPU コア数。最小値は 1 です

マテリアライズドビューのインデックスに埋め込みデータを書き込むために使用されるスレッドの数。正の整数である必要があります。

advancedConfigs.autoEmbedding.materializedView.numEmbeddingThreads

タイプ : 整数

必要性: 任意

デフォルト: ホストの CPU コア数。最小値は 1 です

埋め込みプロバイダーから埋め込みをリクエストするために使用されるスレッドの数。正の整数である必要があります。

advancedConfigs.autoEmbedding.materializedView.numConcurrentInitialSyncs

タイプ : 整数

必要性: 任意

デフォルト: advancedConfigs.replication.mongodb.numConcurrentInitialSyncs の半分。結果が 1 より小さい場合は、1 を使用します。advancedConfigs.replication.mongodb.numConcurrentInitialSyncsn を設定しない場合は、デフォルトは 1 となります。

初期同期を同時に実行できる自動埋め込みインデックスの最大数。初期ビルド中に同時実行を制限すると、ソースmongodノードと埋め込みプロバイダーにかかる負荷が軽減されます。正の整数である必要があります。

advancedConfigs.autoEmbedding.materializedView.matViewWriterMaxConnections

タイプ : 整数

必要性: 任意

デフォルト: 4

マテリアライズドビューコレクションへの書き込みに使用される接続の最大数。16 以下の正の整数である必要があります。

advancedConfigs.autoEmbedding.materializedView.mvWriteRateLimitRps

タイプ : 整数

必要性: 任意

Default: No limit

このノードのマテリアライズドビューコレクションへの一括書き込みコミットの最大数 (秒単位)。この設定を使用して、ソース mongod ノードへの書き込みスループットを制限します。正の整数である必要があります。

advancedConfigs.autoEmbedding.materializedView.embeddingProviderRpsLimit

タイプ : 整数

必要性: 任意

Default: No limit

このノードが埋め込みプロバイダーに送信できる1秒あたりのリクエストの最大数。これはノード レベルの制限です。100以下の正の整数である必要があります。

advancedConfigs.indexing.lucene.refresh.intervalMs

タイプ : 整数

必要性: 任意

デフォルト: 1000

最近インデックス化された変更をクエリに表示するために、mongot がインデックスを更新するまで待機する間隔 (ミリ秒)。値が小さいほど、ドキュメントの書き込みからクエリできるまでの遅延が短縮されますが、更新作業の頻度が増えるというコストがかかります。正の整数である必要があります。

advancedConfigs.indexing.lucene.mergePolicy.tiered.vectorMergePolicy.mergeBudgetMb

タイプ : 整数

必要性: 任意

デフォルト: ホストの総メモリの 10%

ベクトルインデックスセグメントのバックグラウンドマージに使用できるメモリバッジェット(メガバイト)。バッジェットが大きいほど、一度にまとめられるセグメントの数が増え、クエリパフォーマンスが向上する可能性がありますが、マージ中に使用されるメモリは増えます。正の整数である必要があります。

advancedConfigs.indexing.lucene.mergeScheduler.concurrent.maxThreadCount

タイプ : 整数

必要性: 任意

デフォルト: ホストで使用できる CPU コアの数

インデックスセグメントのマージを同時に実行できるスレッドの最大数。値が大きいほど、より多くのマージを平行して実行できます。正の整数である必要があります。

advancedConfigs.indexing.lucene.fieldLimit

タイプ : 整数

必要性: 任意

Default: No limit

1 つのインデックスで許可されるインデックス付きフィールドの最大数。この設定を使用して、インデックスでの無限のフィールドの増加を防止します。最低で 3 である必要があります。

advancedConfigs.querying.lucene.maxClauseLimit

タイプ : 整数

必要性: 任意

デフォルト: 1024

1 つのクエリが拡張できる範囲の節の最大数。mongot は、この制限を超えて拡張するクエリを拒否します。この制限を引き上げると、より大きなクエリが可能になりますが、メモリと CPU のコストが増加します。正の整数である必要があります。

advancedConfigs.querying.lucene.vectorFloorSegmentMB

: double

必要性: 任意

デフォルト: 64.0

MongoDB ベクトル検索インデックスのマージ ポリシーで使用されるフロア セグメント サイズ (メガバイト単位)。mongotadvancedConfigs.querying.lucene.vectorFloorSegmentMB より小さいセグメントをより積極的にマージして、セグメントの総数を減らし、クエリのパフォーマンスを向上させます。値は正の数である必要があります。

advancedConfigs.replication.mongodb.numConcurrentInitialSyncs

タイプ : 整数

必要性: 任意

デフォルト: ホストの CPU コア数と 2 のいずれか小さい方

同時に最初の同期を実行できるインデックスの最大数。同時実行を制限すると、多くのインデックスが同時に構築される際に、ソース mongod ノードにかかる負荷が軽減されます。正の整数である必要があります。

advancedConfigs.replication.mongodb.numConcurrentChangeStreams

タイプ : 整数

必要性: 任意

デフォルト: ホストの CPU コア数の 2 倍

ソース mongod ノードに対して未処理のリクエストを同時に持つことができる定常状態の変更ストリームの最大数。この設定は、最初の同期が完了した後、同時に更新をプルできるインデックスの数を制御します。正の整数である必要があります。

advancedConfigs.replication.mongodb.numIndexingThreads

タイプ : 整数

必要性: 任意

デフォルト: ホストの CPU コア数の半分。最小値は 1 です

レプリケートされたドキュメントと変更をインデックスに書き込むために使用されるスレッドの数。値が大きいほどインデックスの作成のスループットは向上しますが、CPU とメモリの使用量が増える可能性があります。値は正の整数である必要があります。

advancedConfigs.replication.mongodb.numConcurrentSynonymSyncs

タイプ : 整数

必要性: 任意

デフォルト: 2

同時に同期できるシノニムソース コレクションの最大数。正の整数である必要があります。

advancedConfigs.ftdc.enabled

タイプ: ブール値

必要性: 任意

デフォルト: true

フルタイム診断データ取得 (FTDC) を有効にするフラッグ。FTDC 診断データのコレクションはデフォルトで有効になっています。false の場合、mongot はブートストラップ時に FTDC レポーターを作成しないため、診断データを取得しません。

advancedConfigs.ftdc.directorySizeMb

タイプ : 整数

必要性: 任意

デフォルト: 100

FTDC アーカイブ ディレクトリの合計サイズの最大値(メガバイト)。10以上かつadvancedConfigs.ftdc.fileSizeMbより大きい値である必要があります。

advancedConfigs.ftdc.fileSizeMb

タイプ : 整数

必要性: 任意

デフォルト: 10

個別の FTDC アーカイブ ファイルの最大サイズ(メガバイト)。1 以上かつ advancedConfigs.ftdc.directorySizeMb 未満である必要があります。

advancedConfigs.ftdc.collectionPeriodMillis

タイプ : 整数

必要性: 任意

デフォルト: 1000

サンプリング間隔 (ミリ秒単位)。mongot が FTDC にメトリクスを収集する頻度を制御します。最低でも 100 である必要があります。