对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

Configure mongot

Use a YAML configuration file to configure mongot for MongoDB Search and Vector Search deployments. The following example shows the full configuration structure with all available settings:

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>

This section describes settings required for all mongot deployments. If you define only the required settings, mongot uses the defaults for all optional settings.

syncSource.replicaSet

类型:对象

mongot 复制到 mongod 的连接。

syncSource.replicaSet.hostAndPort

Type: String or List of Strings

One or more host and port specifiers used to construct the seed list in the mongod connection string. Regardless of the number of specifiers provided, mongot establishes the connection in replica set mode, not standalone mode.

storage.dataPath

类型:字符串

Path that mongot must use as a base path for storing index data and the local index catalog.

server

类型:对象

mongot查询服务器的设置。

server.grpc

类型:对象

Listen server settings for gRPC communication between mongot and mongod.

server.grpc.address

类型:字符串

Address on which the gRPC listen server listens. Use the following format:

<host>:<port>

In self-managed deployments, this address must be reachable by the mongod processes that send search and index management traffic to mongot. Configure it so it matches the host and port that mongod uses for its mongotHost and searchIndexManagementHostAndPort settings.

For single-host development, localhost is the safest default. If mongod and mongot run on different hosts, set server.grpc.address to an interface that mongod can reach.

警告

根据您的系统拓扑结构,可能需要将 mongot查询服务器绑定到可从 MongoDB 集群访问的接口。虽然允许绑定到 0.0.0.0 IP解决,但这会将服务器暴露于所有公共网络,并带来未经授权访问权限的风险。

为了增强安全性,请考虑将 server.grpc.address 限制为在网络层受控制和保护的特定接口,例如 localhost 或其他可信内部地址。

This section describes optional and conditionally required settings for mongot. If you omit these settings, mongot uses the specified default value when applicable.

syncSource.replicaSet.x509

类型:对象

Necessity: Required if you do not use syncSource.replicaSet.scramAuth

X.509 certificate settings for authenticating mongot with mongod.

syncSource.replicaSet.x509.caFile

类型:字符串

Necessity: Required if you use syncSource.replicaSet.x509

Certificate Authority (CA) file that contains trusted certificates for verifying the certificate presented by mongod. The file must contain an X.509 certificate collection in PEM format.

syncSource.replicaSet.x509.tlsCertificateKeyFile

类型:字符串

Necessity: Required if you use syncSource.replicaSet.x509

Path to the PEM file that contains the X.509 certificate and private key for authenticating mongot with mongod. Required when you configure syncSource.replicaSet.x509.

syncSource.replicaSet.x509.tlsCertificateKeyFilePasswordFile

类型:字符串

必要性:可选

Path to the file that contains the password to decrypt the certificate key file specified in syncSource.replicaSet.x509.tlsCertificateKeyFile.

syncSource.replicaSet.scramAuth

类型:对象

Necessity: Required if you do not use syncSource.replicaSet.x509

Settings for SCRAM authentication.

syncSource.replicaSet.scramAuth.username

类型:字符串

必要性:必需

The username to authenticate with.

syncSource.replicaSet.scramAuth.passwordFile

类型:字符串

必要性:必需

Path to a file that contains the password to authenticate with.

syncSource.replicaSet.scramAuth.authSource

类型:字符串

必要性:可选

默认值:admin

Name of the database associated with the mongot authentication credentials.

syncSource.replicaSet.scramAuth.tls

类型:对象

必要性:可选

默认:false

Settings for TLS.

syncSource.replicaSet.scramAuth.tls.enabled

类型:布尔值

Necessity: Required if you specify syncSource.replicaSet.scramAuth.tls

Flag to enable TLS authentication. Set to true to enable TLS authentication.

syncSource.replicaSet.scramAuth.tls.caFile

类型:字符串

必要性:可选

Certificate Authority (CA) file that contains trusted certificates for verifying the certificate presented by mongod. The file must contain an X.509 certificate collection in PEM format.

syncSource.replicaSet.scramAuth.tls.tlsCertificateKeyFile

类型:字符串

必要性:可选

Path to the PEM file that contains the X.509 certificate and private key for authenticating mongot with mongod.

syncSource.replicaSet.scramAuth.tls.tlsCertificateKeyFilePasswordFile

类型:字符串

必要性:可选

Path to the file that contains the password to decrypt the certificate key file specified in syncSource.replicaSet.scramAuth.tls.tlsCertificateKeyFile.

syncSource.router

类型:对象

Replication connections to mongos for mongot. If omitted, mongot assumes it is running in a non-sharded environment. Required for sharded cluster deployments.

syncSource.router.x509

类型:对象

Necessity: Required if you do not use syncSource.router.scramAuth

X.509 certificate settings for authenticating mongot with mongos.

syncSource.router.x509.caFile

类型:字符串

Necessity: Required if you use syncSource.router.x509

Certificate Authority (CA) file that contains trusted certificates for verifying the certificate presented by mongos. The file must contain an X.509 certificate collection in PEM format.

syncSource.router.x509.tlsCertificateKeyFile

类型:字符串

Necessity: Required if you use syncSource.router.x509

Path to the PEM file that contains the X.509 certificate and private key for authenticating mongot with mongos. Required when you configure syncSource.router.x509.

syncSource.router.x509.tlsCertificateKeyFilePasswordFile

类型:字符串

必要性:可选

Path to the file that contains the password to decrypt the certificate key file specified in syncSource.router.x509.tlsCertificateKeyFile.

syncSource.router.scramAuth

类型:对象

Necessity: Required if you do not use syncSource.router.x509

Settings for SCRAM authentication.

syncSource.router.scramAuth.username

类型:字符串

必要性:必需

The username to authenticate with.

syncSource.router.scramAuth.passwordFile

类型:字符串

必要性:必需

Path to a file that contains the password to authenticate with.

syncSource.router.scramAuth.authSource

类型:字符串

必要性:可选

mongot身份验证凭证关联的数据库名称。如果未指定,则 authSource 默认为 admin

syncSource.router.scramAuth.tls

类型:对象

必要性:可选

默认:false

Settings for TLS.

syncSource.router.scramAuth.tls.enabled

类型:布尔值

Necessity: Required if you specify syncSource.router.scramAuth.tls

Flag to enable TLS authentication. Set to true to enable TLS authentication.

syncSource.router.scramAuth.tls.caFile

类型:字符串

必要性:可选

Certificate Authority (CA) file that contains trusted certificates for verifying the certificate presented by mongos. The file must contain an X.509 certificate collection in PEM format.

syncSource.router.scramAuth.tls.tlsCertificateKeyFile

类型:字符串

Necessity: Optional.

Path to the PEM file that contains the X.509 certificate and private key for authenticating mongot with mongos.

syncSource.router.scramAuth.tls.tlsCertificateKeyFilePasswordFile

类型:字符串

Path to the file that contains the password to decrypt the certificate key file specified in syncSource.router.scramAuth.tls.tlsCertificateKeyFile.

syncSource.replicationReader

类型:对象

Controls the read preference that mongot uses when reading from the replica set for replication.

To filter reads by replica set member tags, specify syncSource.replicationReader.tagSets.

syncSource.replicationReader.readPreference

类型:字符串

默认值secondaryPreferred

Read preference mongot uses for replication operations. You can specify the following values:

  • primary

  • primaryPreferred

  • secondary

  • secondaryPreferred

  • nearest

注意

无论此设置如何,索引管理命令始终使用 primary 读取偏好。

syncSource.replicationReader.tagSets

Type: Array

Array of tag sets that filter which replica set members receive replication reads. You cannot configure this setting if syncSource.replicationReader.readPreference is primary.

tagSets 的每个元素都是一个由 { name: <name>, value: <value> } 对象组成的数组,这些对象用于匹配副本集成员标签。mongot 会按顺序评估这些标签集,并使用第一个匹配到成员的标签集。例如:

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

The server.grpc.address setting is required. All other server.grpc settings are optional.

server.grpc.tls

类型:对象

TLS configuration options for the gRPC listen server.

server.grpc.tls.mode

类型:字符串

TLS mode for the gRPC server. Must be one of the following values:

  • "TLS"

  • "mTLS"

  • "disabled"

Required when you configure server.grpc.tls.

server.grpc.tls.certificateKeyFile

类型:字符串

PEM file that contains a valid X.509 certificate for mongot using a PKCS#8 private key. mongod validates this certificate using a Certificate Authority (CA) file that you specify with the --tlsCAFile option. Required when server.grpc.tls.mode is "TLS" or "mTLS".

server.grpc.tls.certificateKeyFilePasswordFile

类型:字符串

Path to the file that contains the password to decrypt the certificate key file specified in server.grpc.tls.certificateKeyFile.

server.grpc.tls.caFile

类型:字符串

Certificate Authority (CA) file that contains trusted certificates for verifying the certificate presented by mongod. The file must contain an X.509 certificate collection in PEM format. Required when server.grpc.tls.mode is "mTLS".

server.name

类型:字符串

User-provided name to identify a mongot instance. MongoDB uses server.name to identify mongot hosts across programmatic interfaces such as $listSearchIndexes. If you omit this setting, MongoDB generates a name automatically.

metrics

类型:对象

mongot Prometheus指标端点侦听器的设置。

metrics.enabled

类型:布尔值

Flag that enables the Prometheus metrics endpoint. If you set this to false, MongoDB parses and validates the syntax of the other settings in the metrics block but does not start the Prometheus metrics listener. Required when you configure metrics.

metrics.address

类型:字符串

默认值localhost:9946

Socket address (IPv4 or IPv6) on which the Prometheus /metrics endpoint is exposed. Use the following format:

<host>:<port>
healthCheck

类型:对象

Settings for the mongot health check endpoint. You cannot disable the health check endpoint, but you can configure its listen address.

healthCheck.address

类型:字符串

默认值localhost:8080

Address on which the health check listener listens. Use the following format:

<host>:<port>
logging

类型:对象

日志记录选项。

logging.verbosity

类型:字符串

默认值INFO

Verbosity of logging. The value must be a valid Logback log level.

logging.logPath

类型:字符串

Path to a file where mongot writes logs using a Logback file appender. If you omit this setting, MongoDB does not create or configure a log file appender.

Configure the following settings to enable Automated Embedding.

注意

  • queryKeyFile and indexingKeyFile work as a pair. If you do not configure either file, mongot logs a warning and disables auto-embedding.

  • providerEndpoint is optional. When set, mongot applies it as an override for the configured embedding service endpoint.

  • isAutoEmbeddingViewWriter defaults to false if you omit it.

embedding.providerEndpoint

类型:字符串

URL of the embedding provider endpoint. Optional override for the default embedding provider endpoint. Use this if you want mongot to send embedding requests to a specific provider endpoint instead of the default endpoint.

embedding.queryKeyFile

类型:字符串

Path to the file that contains the key for the query-time embedding requests. Required for Automated Embedding.

embedding.indexingKeyFile

类型:字符串

Path to the file that contains the key for the index-time embedding requests. Required for Automated Embedding.

embedding.isAutoEmbeddingViewWriter

类型:布尔值

Flag to designate the leader mongot instance responsible for writing the automated embedding View. If true, this mongot instance acts as the writer for auto-embedding materialized-view updates.

For single-instance deployments, set this to true to enable the instance to write the automated embeddings View.

If you have multiple mongot instances for replica sets or sharded clusters, ensure that only one instance writes the automated embedding View to prevent duplication or conflicts. Set the value to:

  • truemongot实例指定为负责写入自动嵌入视图的主节点。

  • false to designate a mongot instance as a follower that does not write the auto-embeddings View.

advancedConfigs.autoEmbedding.materializedView.numConcurrentChangeStreams

类型:整数

必要性:可选

Default: 2 times the host's CPU core count

Maximum number of steady-state change streams that the materialized view replication process can have outstanding at any one time. Must be a positive integer.

advancedConfigs.autoEmbedding.materializedView.numIndexingThreads

类型:整数

必要性:可选

Default: The host's CPU core count, with a minimum of 1

Number of threads used to write embedding data into the materialized view's indexes. Must be a positive integer.

advancedConfigs.autoEmbedding.materializedView.numEmbeddingThreads

类型:整数

必要性:可选

Default: The host's CPU core count, with a minimum of 1

Number of threads used to request embeddings from the embedding provider. Must be a positive integer.

advancedConfigs.autoEmbedding.materializedView.numConcurrentInitialSyncs

类型:整数

必要性:可选

Default: Half of advancedConfigs.replication.mongodb.numConcurrentInitialSyncs. If the result is less than 1, then it uses 1. If you don not setn advancedConfigs.replication.mongodb.numConcurrentInitialSyncsn also, then it defaults to 1.

Maximum number of Automated Embedding indexes that can run their initial sync at the same time. Limiting concurrency reduces the load placed on the source mongod node and embedding provider during initial builds. Must be a positive integer.

advancedConfigs.autoEmbedding.materializedView.matViewWriterMaxConnections

类型:整数

必要性:可选

默认值4

Maximum number of connections used to write to the materialized view collection. Must be a positive integer no greater than 16.

advancedConfigs.autoEmbedding.materializedView.mvWriteRateLimitRps

类型:整数

必要性:可选

Default: No limit

Maximum number of bulk write commits per second to the materialized view collection on this node. Use this setting to limit write throughput to the source mongod node. Must be a positive integer.

advancedConfigs.autoEmbedding.materializedView.embeddingProviderRpsLimit

类型:整数

必要性:可选

Default: No limit

Maximum number of requests per second this node can send to the embedding provider. This is a node-level limit. Must be a positive integer no greater than 100.

advancedConfigs.indexing.lucene.refresh.intervalMs

类型:整数

必要性:可选

默认值1000

Interval, in milliseconds, that mongot waits before refreshing an index to make recently indexed changes visible to queries. Lower values reduce the delay between writing a document and being able to query it, at the cost of more frequent refresh work. Must be a positive integer.

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

类型:整数

必要性:可选

Default: 10% of the host's total memory

Memory budget, in megabytes, available to background merges of vector index segments. A larger budget allows more segments to be merged together at once, which can improve query performance but uses more memory during merges. Must be a positive integer.

advancedConfigs.indexing.lucene.mergeScheduler.concurrent.maxThreadCount

类型:整数

必要性:可选

Default: The number of CPU cores available to the host

Maximum number of threads that can perform index segment merges concurrently. Higher values allow more merges to run in parallel. Must be a positive integer.

advancedConfigs.indexing.lucene.fieldLimit

类型:整数

必要性:可选

Default: No limit

Maximum number of indexed fields allowed in an index. Use this setting to guard against unbounded field growth in indexes. Must be at least 3.

advancedConfigs.querying.lucene.maxClauseLimit

类型:整数

必要性:可选

默认值1024

Maximum number of clauses a single query can expand to. mongot rejects queries that expand beyond this limit. Raising this limit allows larger queries but increases their memory and CPU cost. Must be a positive integer.

advancedConfigs.querying.lucene.vectorFloorSegmentMB

类型:double

必要性:可选

默认值64.0

Floor segment size, in megabytes, used by the merge policy for MongoDB Vector Search indexes. mongot merges segments smaller than advancedConfigs.querying.lucene.vectorFloorSegmentMB together more aggressively to reduce the total number of segments and improve query performance. Value must be a positive number.

advancedConfigs.replication.mongodb.numConcurrentInitialSyncs

类型:整数

必要性:可选

Default: The lesser of the host's CPU core count and 2

Maximum number of indexes that can run their initial sync at the same time. Limiting concurrency reduces the load placed on the source mongod node while many indexes build simultaneously. Must be a positive integer.

advancedConfigs.replication.mongodb.numConcurrentChangeStreams

类型:整数

必要性:可选

Default: 2 times the host's CPU core count

Maximum number of steady-state change streams that can have outstanding requests to the source mongod node at any one time. This setting controls how many indexes can pull updates concurrently after their initial sync completes. Must be a positive integer.

advancedConfigs.replication.mongodb.numIndexingThreads

类型:整数

必要性:可选

Default: Half the host's CPU core count, with a minimum of 1

Number of threads used to write replicated documents and changes into indexes. Higher values can improve indexing throughput but might increase CPU and memory usage. Value must be a positive integer.

advancedConfigs.replication.mongodb.numConcurrentSynonymSyncs

类型:整数

必要性:可选

默认值2

Maximum number of synonym source collections that can sync concurrently. Must be a positive integer.

advancedConfigs.ftdc.enabled

类型:布尔值

必要性:可选

默认值true

Flag that enables full-time diagnostic data capture (FTDC). FTDC diagnostic data collection is enabled by default. When false, mongot creates no FTDC reporter at bootstrap, so it captures no diagnostic data.

advancedConfigs.ftdc.directorySizeMb

类型:整数

必要性:可选

默认值100

Maximum total size, in megabytes, of the FTDC archive directory. Must be at least 10 and greater than advancedConfigs.ftdc.fileSizeMb.

advancedConfigs.ftdc.fileSizeMb

类型:整数

必要性:可选

默认值10

Maximum size, in megabytes, of an individual FTDC archive file. Must be at least 1 and less than advancedConfigs.ftdc.directorySizeMb.

advancedConfigs.ftdc.collectionPeriodMillis

类型:整数

必要性:可选

默认值1000

Sampling interval, in milliseconds, that controls how often mongot collects metrics into FTDC. Must be at least 100.