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.hostAndPortType: String or List of Strings
One or more host and port specifiers used to construct the seed list in the
mongodconnection string. Regardless of the number of specifiers provided,mongotestablishes the connection in replica set mode, not standalone mode.
storage.dataPath类型:字符串
Path that
mongotmust use as a base path for storing index data and the local index catalog.
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
mongodprocesses that send search and index management traffic tomongot. Configure it so it matches the host and port thatmongoduses for itsmongotHostandsearchIndexManagementHostAndPortsettings.For single-host development,
localhostis the safest default. Ifmongodandmongotrun on different hosts, setserver.grpc.addressto an interface thatmongodcan reach.警告
根据您的系统拓扑结构,可能需要将
mongot查询服务器绑定到可从 MongoDB 集群访问的接口。虽然允许绑定到0.0.0.0IP解决,但这会将服务器暴露于所有公共网络,并带来未经授权访问权限的风险。为了增强安全性,请考虑将
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.
Replica Set Authentication Settings
syncSource.replicaSet.x509类型:对象
Necessity: Required if you do not use
syncSource.replicaSet.scramAuthX.509 certificate settings for authenticating
mongotwithmongod.
syncSource.replicaSet.x509.caFile类型:字符串
Necessity: Required if you use
syncSource.replicaSet.x509Certificate 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.x509Path to the PEM file that contains the X.509 certificate and private key for authenticating
mongotwithmongod. Required when you configuresyncSource.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.x509Settings for SCRAM authentication.
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
mongotauthentication credentials.
syncSource.replicaSet.scramAuth.tls.enabled类型:布尔值
Necessity: Required if you specify
syncSource.replicaSet.scramAuth.tlsFlag to enable TLS authentication. Set to
trueto 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.
Sharded Clusters Settings
syncSource.router类型:对象
Replication connections to
mongosformongot. If omitted,mongotassumes 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.scramAuthX.509 certificate settings for authenticating
mongotwithmongos.
syncSource.router.x509.caFile类型:字符串
Necessity: Required if you use
syncSource.router.x509Certificate 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.x509Path to the PEM file that contains the X.509 certificate and private key for authenticating
mongotwithmongos. Required when you configuresyncSource.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.x509Settings for SCRAM authentication.
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.enabled类型:布尔值
Necessity: Required if you specify
syncSource.router.scramAuth.tlsFlag to enable TLS authentication. Set to
trueto 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.
Replication Read Preference Settings
syncSource.replicationReader类型:对象
Controls the read preference that
mongotuses when reading from the replica set for replication.To filter reads by replica set member tags, specify
syncSource.replicationReader.tagSets.
syncSource.replicationReader.readPreference类型:字符串
默认值:
secondaryPreferredRead preference
mongotuses for replication operations. You can specify the following values:primaryprimaryPreferredsecondarysecondaryPreferrednearest
注意
无论此设置如何,索引管理命令始终使用
primary读取偏好。
syncSource.replicationReader.tagSetsType: Array
Array of tag sets that filter which replica set members receive replication reads. You cannot configure this setting if
syncSource.replicationReader.readPreferenceisprimary.tagSets的每个元素都是一个由{ name: <name>, value: <value> }对象组成的数组,这些对象用于匹配副本集成员标签。mongot会按顺序评估这些标签集,并使用第一个匹配到成员的标签集。例如:tagSets: - [ { name: hostname, value: mongod1 }, { name: region, value: us-east-1 } ]
gRPC Server Settings
The server.grpc.address setting is required. All other server.grpc settings are optional.
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
mongotusing a PKCS#8 private key.mongodvalidates this certificate using a Certificate Authority (CA) file that you specify with the--tlsCAFileoption. Required whenserver.grpc.tls.modeis"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 whenserver.grpc.tls.modeis"mTLS".
server.name类型:字符串
User-provided name to identify a
mongotinstance. MongoDB usesserver.nameto identifymongothosts across programmatic interfaces such as$listSearchIndexes. If you omit this setting, MongoDB generates a name automatically.
Metrics Settings
Health Checks Settings
LoggingSettings
Automated Embedding Settings
Basic Settings
Configure the following settings to enable Automated Embedding.
注意
queryKeyFileandindexingKeyFilework as a pair. If you do not configure either file,mongotlogs a warning and disables auto-embedding.providerEndpointis optional. When set,mongotapplies it as an override for the configured embedding service endpoint.isAutoEmbeddingViewWriterdefaults tofalseif you omit it.
embedding.providerEndpoint类型:字符串
URL of the embedding provider endpoint. Optional override for the default embedding provider endpoint. Use this if you want
mongotto 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
mongotinstance responsible for writing the automated embedding View. If true, thismongotinstance acts as the writer for auto-embedding materialized-view updates.For single-instance deployments, set this to
trueto enable the instance to write the automated embeddings View.If you have multiple
mongotinstances 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:true将mongot实例指定为负责写入自动嵌入视图的主节点。falseto designate amongotinstance as a follower that does not write the auto-embeddings View.
Advanced Settings
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
1Number 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
1Number 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 than1, then it uses1. If you don not setnadvancedConfigs.replication.mongodb.numConcurrentInitialSyncsn also, then it defaults to1.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
mongodnode and embedding provider during initial builds. Must be a positive integer.
advancedConfigs.autoEmbedding.materializedView.matViewWriterMaxConnections类型:整数
必要性:可选
默认值:
4Maximum number of connections used to write to the materialized view collection. Must be a positive integer no greater than
16.
Advanced Indexing Settings
advancedConfigs.indexing.lucene.refresh.intervalMs类型:整数
必要性:可选
默认值:
1000Interval, in milliseconds, that
mongotwaits 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.
Advanced Querying Settings
advancedConfigs.querying.lucene.maxClauseLimit类型:整数
必要性:可选
默认值:
1024Maximum number of clauses a single query can expand to.
mongotrejects 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.0Floor segment size, in megabytes, used by the merge policy for MongoDB Vector Search indexes.
mongotmerges segments smaller thanadvancedConfigs.querying.lucene.vectorFloorSegmentMBtogether more aggressively to reduce the total number of segments and improve query performance. Value must be a positive number.
Advanced Replication Settings
advancedConfigs.replication.mongodb.numConcurrentInitialSyncs类型:整数
必要性:可选
Default: The lesser of the host's CPU core count and
2Maximum number of indexes that can run their initial sync at the same time. Limiting concurrency reduces the load placed on the source
mongodnode 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
mongodnode 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
1Number 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.
Advanced FTDC Settings
advancedConfigs.ftdc.enabled类型:布尔值
必要性:可选
默认值:
trueFlag that enables full-time diagnostic data capture (FTDC). FTDC diagnostic data collection is enabled by default. When
false,mongotcreates no FTDC reporter at bootstrap, so it captures no diagnostic data.
advancedConfigs.ftdc.directorySizeMb类型:整数
必要性:可选
默认值:
100Maximum total size, in megabytes, of the FTDC archive directory. Must be at least
10and greater thanadvancedConfigs.ftdc.fileSizeMb.