Utilice un archivo de configuración YAML para configurar mongot para las implementaciones de MongoDB Search y búsqueda vectorial.
Tip
Para las implementaciones de MongoDB Controllers para Kubernetes Operator, puede usar el recurso personalizado MongoDBSearch para configurar mongot. Para obtener más información, consulte MongoDBSearch.
El siguiente ejemplo muestra la estructura de configuración completa con todas las configuraciones disponibles para implementación autogestionada de mongot con MongoDB Community:
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>
Configuraciones requeridas
En esta sección se describen las configuraciones necesarias para todas las implementaciones de mongot. Si solo define las configuraciones necesarias, mongot utiliza los valores por defecto para todas las configuraciones opcionales.
syncSource.replicaSet.hostAndPortTipo: string o lista de strings
Uno o más especificadores de host y puerto utilizados para construir la lista de nodos iniciales en la cadena de conexión
mongod. Independientemente de la cantidad de especificadores proporcionados,mongotestablece la conexión en modo de set de réplicas, no en modo autónomo.
storage.dataPathTipo: string
Ruta que
mongotdebe utilizar como ruta base para almacenar datos de índice y el catálogo local de índices.
server.grpcTipo: Objeto
Configuración del servidor de escucha para la comunicación gRPC entre
mongotymongod.
server.grpc.addressTipo: string
Dirección en la que el servidor de escucha de gRPC escucha. Utilice el siguiente formato:
<host>:<port> En las implementaciones autogestionadas, esta dirección debe ser accesible para los procesos
mongodque envían tráfico de búsqueda y gestión de índices amongot. Configúrelo para que coincida con el host y el puerto quemongodutiliza para su configuraciónmongotHostysearchIndexManagementHostAndPort.Para el desarrollo de un solo host,
localhostes el valor más seguro por defecto. Simongodymongotse ejecutan en diferentes host, establezcaserver.grpc.addressen una interfaz a la quemongodpueda acceder.Advertencia
Dependiendo de la topología del sistema, puede ser necesario vincular el servidor de query
mongota una interfaz accesible desde el clúster de MongoDb. Aunque se permite la vinculación a la dirección IP0.0.0.0, expone el servidor a todas las redes públicas y conlleva el riesgo de un acceso no autorizado.Para mejorar la seguridad, considera restringir
server.grpc.addressa interfaces específicas que estén controladas y protegidas en la capa de red, comolocalhostu otras direcciones internas confiables.
Configuraciones opcionales
Esta sección describe los ajustes opcionales y los requeridos condicionalmente para mongot. Si omites estos ajustes, mongot utiliza el valor por defecto especificado cuando sea aplicable.
Configuración de autenticación de set de réplicas
syncSource.replicaSet.x509Tipo: Objeto
Necesidad: Obligatorio si no utiliza
syncSource.replicaSet.scramAuthX.509 configuración de certificado para autenticar
mongotconmongod.
syncSource.replicaSet.x509.caFileTipo: string
Necesidad: Requerido si utiliza
syncSource.replicaSet.x509Archivo de la Autoridad de Certificación (CA) que contiene certificados de confianza para verificar el certificado presentado por
mongod. El archivo debe contener una colección de certificados X.509 en formato PEM.
syncSource.replicaSet.x509.tlsCertificateKeyFileTipo: string
Necesidad: Requerido si utiliza
syncSource.replicaSet.x509Ruta al archivo PEM que contiene el certificado X.509 y la llave privada para la autenticación de
mongotconmongod. Obligatorio al configurarsyncSource.replicaSet.x509.
syncSource.replicaSet.x509.tlsCertificateKeyFilePasswordFileTipo: string
Necesidad: Opcional
Ruta al archivo que contiene la contraseña para descifrar el archivo de clave del certificado especificado en
syncSource.replicaSet.x509.tlsCertificateKeyFile.
syncSource.replicaSet.scramAuthTipo: Objeto
Necesidad: Obligatorio si no utiliza
syncSource.replicaSet.x509Configuración para la autenticación SCRAM.
syncSource.replicaSet.scramAuth.usernameTipo: string
Necesidad: Requerido
El nombre de usuario para autenticarse.
syncSource.replicaSet.scramAuth.passwordFileTipo: string
Necesidad: Requerido
Ruta a un archivo que contiene la contraseña para autenticarse.
syncSource.replicaSet.scramAuth.authSourceTipo: string
Necesidad: Opcional
Por defecto: admin
Nombre de la base de datos asociada con las credenciales de autenticación
mongot.
syncSource.replicaSet.scramAuth.tlsTipo: Objeto
Necesidad: Opcional
Por defecto: false
Configuración de TLS.
syncSource.replicaSet.scramAuth.tls.enabledTipo: booleano
Necesidad: Requerido si especifica
syncSource.replicaSet.scramAuth.tlsMarca para habilitar la autenticación TLS. Establezca en
truepara habilitar la autenticación TLS.
syncSource.replicaSet.scramAuth.tls.caFileTipo: string
Necesidad: Opcional
Archivo de la Autoridad de Certificación (CA) que contiene certificados de confianza para verificar el certificado presentado por
mongod. El archivo debe contener una colección de certificados X.509 en formato PEM.
Configuración de clústeres particionados
syncSource.routerTipo: Objeto
Conexiones de replicación a
mongosparamongot. Si se omite,mongotasume que se está ejecutando en un entorno no particionado. Obligatorio para implementaciones de clúster particionado.
syncSource.router.x509Tipo: Objeto
Necesidad: Obligatorio si no utiliza
syncSource.router.scramAuthX.509 configuración de certificado para autenticar
mongotconmongos.
syncSource.router.x509.caFileTipo: string
Necesidad: Requerido si utiliza
syncSource.router.x509Archivo de la Autoridad de Certificación (CA) que contiene certificados de confianza para verificar el certificado presentado por
mongos. El archivo debe contener una colección de certificados X.509 en formato PEM.
syncSource.router.x509.tlsCertificateKeyFileTipo: string
Necesidad: Requerido si utiliza
syncSource.router.x509Ruta al archivo PEM que contiene el certificado X.509 y la llave privada para la autenticación de
mongotconmongos. Obligatorio al configurarsyncSource.router.x509.
syncSource.router.x509.tlsCertificateKeyFilePasswordFileTipo: string
Necesidad: Opcional
Ruta al archivo que contiene la contraseña para descifrar el archivo de clave del certificado especificado en
syncSource.router.x509.tlsCertificateKeyFile.
syncSource.router.scramAuthTipo: Objeto
Necesidad: Obligatorio si no utiliza
syncSource.router.x509Configuración para la autenticación SCRAM.
syncSource.router.scramAuth.usernameTipo: string
Necesidad: Requerido
El nombre de usuario para autenticarse.
syncSource.router.scramAuth.passwordFileTipo: string
Necesidad: Requerido
Ruta a un archivo que contiene la contraseña para autenticarse.
syncSource.router.scramAuth.authSourceTipo: string
Necesidad: Opcional
Nombre de la base de datos asociada con las credenciales de autenticación
mongot. Si no se especifica,authSourcepor defecto esadmin.
syncSource.router.scramAuth.tlsTipo: Objeto
Necesidad: Opcional
Por defecto: false
Configuración de TLS.
syncSource.router.scramAuth.tls.enabledTipo: booleano
Necesidad: Requerido si especifica
syncSource.router.scramAuth.tlsMarca para habilitar la autenticación TLS. Establezca en
truepara habilitar la autenticación TLS.
syncSource.router.scramAuth.tls.caFileTipo: string
Necesidad: Opcional
Archivo de la Autoridad de Certificación (CA) que contiene certificados de confianza para verificar el certificado presentado por
mongos. El archivo debe contener una colección de certificados X.509 en formato PEM.
Configuración de preferencia de lectura de replicación
syncSource.replicationReaderTipo: Objeto
Controla la preferencia de lectura que
mongotutiliza al leer el set de réplicas para la replicación.Para filtrar las lecturas por las etiquetas de los set de réplicas, especifique
syncSource.replicationReader.tagSets.
syncSource.replicationReader.readPreferenceTipo: string
Por defecto:
secondaryPreferredLa preferencia de lectura
mongotse usa para operaciones de replicación. Puede especificar los siguientes valores:primaryprimaryPreferredsecondarysecondaryPreferrednearest
Nota
Los comandos de gestión de índices siempre utilizan la preferencia de lectura
primary, independientemente de esta configuración.
syncSource.replicationReader.tagSetsType: Array
Arreglo de conjuntos de etiquetas que filtran qué miembros del set de réplicas reciben lecturas de replicación. No puedes configurar este ajuste si
syncSource.replicationReader.readPreferenceesprimary.Cada elemento de
tagSetses un arreglo de{ name: <name>, value: <value> }objetos que coinciden con las etiquetas del set de réplicas.mongotevalúa los conjuntos de etiquetas en orden y utiliza el primer conjunto que coincide con un nodo. Por ejemplo:tagSets: - [ { name: hostname, value: mongod1 }, { name: region, value: us-east-1 } ]
Configuración del servidor gRPC
La configuración server.grpc.address es obligatoria. Todas las demás configuraciones de server.grpc son opcionales.
server.grpc.tls.modeTipo: string
Moda TLS para el servidor gRPC. Debe ser uno de los siguientes valores:
"TLS""mTLS""disabled"
Obligatorio al configurar
server.grpc.tls.
server.grpc.tls.certificateKeyFileTipo: string
Archivo PEM que contiene un certificado X.509 válido para
mongotmediante una llave privada PKCS#8.mongodvalida este certificado mediante un archivo de Autoridad Certificadora (CA) que especifica con la opción--tlsCAFile. Obligatorio cuandoserver.grpc.tls.modees"TLS"o"mTLS".
server.grpc.tls.certificateKeyFilePasswordFileTipo: string
Ruta al archivo que contiene la contraseña para descifrar el archivo de clave del certificado especificado en
server.grpc.tls.certificateKeyFile.
server.grpc.tls.caFileTipo: string
Archivo de la Autoridad de Certificación (CA) que contiene certificados de confianza para verificar el certificado presentado por
mongod. El archivo debe contener una colección de certificados X.509 en formato PEM. Obligatorio cuandoserver.grpc.tls.modees"mTLS".
server.nameTipo: string
Nombre proporcionado por el usuario para identificar una instancia
mongot. MongoDB utilizaserver.namepara identificar hostsmongoten interfaces programáticas como$listSearchIndexes. Si omite esta configuración, MongoDB genera un nombre automáticamente.
Configuración de métricas
metricsTipo: Objeto
Configuraciones para el servidor de escucha del endpoint de métricas de Prometheus
mongot.
metrics.enabledTipo: booleano
Por defecto: false
Indicador que habilita el endpoint de métricas de Prometheus. Si establece esto en
false, MongoDB analiza y valida la sintaxis de las otras configuraciones en el bloquemetrics, pero no inicia el oyente de métricas de Prometheus. Obligatorio cuando configuremetrics.
Configuración de verificación de estado
Configuración de registro
Configuración de incrustación automatizada
Configuración básica
Configura los siguientes ajustes para habilitar la incrustación automatizada.
Nota
queryKeyFileyindexingKeyFilefuncionan como un par. Si no configura ninguno de los archivos,mongotregistra una advertencia y deshabilita la incrustación automática.providerEndpointes opcional. Cuando se establece,mongotlo aplica como una anulación para el punto final del servicio de incrustación configurado.isAutoEmbeddingViewWriterpor defecto esfalsesi lo omite.
embedding.providerEndpointTipo: string
URL del punto final del proveedor de incrustación. Anulación opcional para el punto final del proveedor de incrustación por defecto. Utilice esta opción si desea que
mongotenvíe solicitudes de incrustación a un punto final de proveedor específico en lugar del punto final por defecto.
embedding.queryKeyFileTipo: string
Ruta al archivo que contiene la clave para las solicitudes de incrustación en tiempo de query. Obligatorio para la incrustación automatizada.
embedding.indexingKeyFileTipo: string
Ruta al archivo que contiene la clave para las solicitudes de incrustación en tiempo de índice. Obligatorio para la incrustación automatizada.
embedding.isAutoEmbeddingViewWriterTipo: booleano
Indicador para designar la instancia
mongotlíder responsable de escribir la vista de incrustación automatizada. Si es verdadero, esta instanciamongotactúa como escritor para las actualizaciones de vistas materializadas de incrustación automática.Para implementaciones de instancia única, establezca este valor en
truepara permitir que la instancia guarde la vista de incrustaciones automatizadas.Si tiene varias instancias de
mongotpara sets de réplicas o clústeres particionados, asegúrese de que solo una instancia guarde la vista de incrustación automatizada para evitar duplicaciones o conflictos. Establezca el valor en:truepara designar una instanciamongotcomo líder responsable de escribir la Vista de auto-incorporaciones.falsepara designar una instancia demongotcomo seguidor que no guarde la vista de auto-incrustaciones.
configuración avanzada
advancedConfigs.autoEmbedding.materializedView.numConcurrentChangeStreamsTipo: entero
Necesidad: Opcional
Por defecto: 2 veces el recuento de núcleos de CPU del host
Número máximo de flujos de cambio de estado estable que el proceso de replicación de vistas materializadas puede tener pendientes en un momento dado. Debe ser un entero positivo.
advancedConfigs.autoEmbedding.materializedView.numIndexingThreadsTipo: entero
Necesidad: Opcional
Por defecto: El número de núcleos de CPU del host, con un mínimo de
1Número de subprocesos utilizados para guardar datos de incrustación en los índices de la vista materializada. Debe ser un entero positivo.
advancedConfigs.autoEmbedding.materializedView.numEmbeddingThreadsTipo: entero
Necesidad: Opcional
Por defecto: El número de núcleos de CPU del host, con un mínimo de
1Número de subprocesos utilizados para la solicitud de incrustación al proveedor de incrustación. Debe ser un entero positivo.
advancedConfigs.autoEmbedding.materializedView.numConcurrentInitialSyncsTipo: entero
Necesidad: Opcional
Por defecto: la mitad de
advancedConfigs.replication.mongodb.numConcurrentInitialSyncs. Si el resultado es inferior a1, se utiliza1. Si no estableceadvancedConfigs.replication.mongodb.numConcurrentInitialSyncsn también, el valor predeterminado es1.Número máximo de índices de incrustación automatizada que pueden ejecutar su sincronización inicial al mismo tiempo. La limitación de la simultaneidad reduce la carga colocada en el nodo
mongodde origen y el proveedor de incrustación durante las compilaciones iniciales. Debe ser un número entero positivo.
advancedConfigs.autoEmbedding.materializedView.matViewWriterMaxConnectionsTipo: entero
Necesidad: Opcional
Por defecto:
4Número máximo de conexiones utilizadas para guardar en la colección de vistas materializadas. Debe ser un número entero positivo no mayor que
16.
advancedConfigs.autoEmbedding.materializedView.mvWriteRateLimitRpsTipo: entero
Necesidad: Opcional
Default: No limit
Número máximo de confirmaciones de escritura masiva por segundo en la colección de vistas materializadas de este nodo. Utilice esta configuración para limitar el rendimiento de guardar en el nodo de origen
mongod. Debe ser un número entero positivo.
advancedConfigs.autoEmbedding.materializedView.embeddingProviderRpsLimitTipo: entero
Necesidad: Opcional
Default: No limit
Número máximo de solicitudes por segundo que este nodo puede enviar al proveedor de incrustaciones. Este es un límite de nivel de nodo. Debe ser un entero positivo no superior a
100.
Configuración avanzada de indexación
advancedConfigs.indexing.lucene.refresh.intervalMsTipo: entero
Necesidad: Opcional
Por defecto:
1000Intervalo, en milisegundos, que
mongotespera antes de actualizar un índice para que los cambios indexados recientemente sean visibles para las queries. Los valores más bajos reducen el retraso entre la escritura de un documento y la posibilidad de hacerle un query, a costa de un trabajo de actualización más frecuente. Debe ser un número entero positivo.
advancedConfigs.indexing.lucene.mergePolicy.tiered.vectorMergePolicy.mergeBudgetMbTipo: entero
Necesidad: Opcional
Por defecto: 10% de la memoria total del host
Presupuesto de memoria, en megabytes, disponible para fusiones en segundo plano de segmentos de índice vectorial. Un presupuesto mayor permite fusionar más segmentos a la vez, lo que puede mejorar el rendimiento de las querys, pero utiliza más memoria durante las fusiones. Debe ser un número entero positivo.
advancedConfigs.indexing.lucene.mergeScheduler.concurrent.maxThreadCountTipo: entero
Necesidad: Opcional
Por defecto: El número de núcleos de CPU disponibles para el host
Número máximo de subprocesos que pueden realizar fusiones de segmentos de índice simultáneamente. Los valores más altos permiten que se ejecuten más fusiones en paralelo. Debe ser un número entero positivo.
Configuración avanzada de query
advancedConfigs.querying.lucene.maxClauseLimitTipo: entero
Necesidad: Opcional
Por defecto:
1024Número máximo de cláusulas a las que puede expandirse una sola query.
mongotrechaza las queries que se expanden más allá de este límite. Aumentar este límite permite queries más grandes, pero aumenta su costo de memoria y CPU. Debe ser un entero positivo.
advancedConfigs.querying.lucene.vectorFloorSegmentMBTipo: doble
Necesidad: Opcional
Por defecto:
64.0Tamaño del segmento de piso, en megabytes, utilizado por la política de fusión para los índices de búsqueda vectorial de MongoDB.
mongotfusiona segmentos más pequeños queadvancedConfigs.querying.lucene.vectorFloorSegmentMBde forma más agresiva para reducir el número total de segmentos y mejorar el rendimiento de las queries. El valor debe ser un número positivo.
Configuración avanzada de replicación
advancedConfigs.replication.mongodb.numConcurrentInitialSyncsTipo: entero
Necesidad: Opcional
Por defecto: el menor de los recuentos de núcleos de CPU del host y
2Número máximo de índices que pueden ejecutar su sincronización inicial al mismo tiempo. La limitación de la simultaneidad reduce la carga que se aplica al nodo
mongodde origen mientras se realiza la creación de índices simultáneamente. Debe ser un número entero positivo.
advancedConfigs.replication.mongodb.numConcurrentChangeStreamsTipo: entero
Necesidad: Opcional
Por defecto: 2 veces el recuento de núcleos de CPU del host
Número máximo de flujos de cambio de estado estable que pueden tener solicitudes pendientes al nodo
mongodde origen en un momento dado. Esta configuración controla cuántos índices pueden extraer actualizaciones simultáneamente después de que se complete su sincronización inicial. Debe ser un número entero positivo.
advancedConfigs.replication.mongodb.numIndexingThreadsTipo: entero
Necesidad: Opcional
Por defecto: la mitad del número de núcleos de CPU del host, con un mínimo de
1Número de subprocesos utilizados para guardar documentos replicados y cambios en los índices. Los valores más altos pueden mejorar el rendimiento de la indexación, pero podrían aumentar el uso de CPU y memoria. El valor debe ser un número entero positivo.
Configuración avanzada de FTDC
advancedConfigs.ftdc.enabledTipo: booleano
Necesidad: Opcional
Por defecto:
trueMarca que habilita la captura de datos diagnósticos a tiempo completo (FTDC). La recopilación de datos diagnósticos de FTDC está habilitada por defecto. Cuando
false,mongotno crea ningún reportero FTDC en el arranque, por lo que no captura datos diagnósticos.
advancedConfigs.ftdc.directorySizeMbTipo: entero
Necesidad: Opcional
Por defecto:
100Tamaño total máximo, en megabytes, del directorio de ficheros FTDC. Debe ser al menos
10y mayor queadvancedConfigs.ftdc.fileSizeMb.