Use um arquivo de configuração YAML para configurar mongot para implantações de MongoDB Search e pesquisa vetorial.
Dica
Para as implantações do operador MongoDB Controllers for Kubernetes, você pode usar o recurso personalizado MongoDBSearch para configurar mongot. Para mais informações, consulte MongoDBSearch.
O exemplo a seguir mostra a estrutura de configuração completa com todas as configurações disponíveis para implantações mongot autogerenciadas com 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>
Configurações necessárias
Esta seção descreve as configurações necessárias para todas as implantações mongot. Se você definir apenas as configurações necessárias, mongot usará os padrões para todas as configurações opcionais.
syncSource.replicaSet.hostAndPortTipo: string ou lista de strings
Um ou mais especificadores de host e porta usados para construir a lista de sementes na string de conexão
mongod. Independentemente do número de especificadores fornecidos,mongotestabelece a conexão no modo de conjunto de réplicas, não no modo autônomo.
storage.dataPathTipo: string
Caminho que o
mongotdeve utilizar como um caminho base para armazenar dados de índice e o catálogo de índice local.
server.grpcTipo: objeto
Configurações do servidor de escuta para comunicação gRPC entre
mongotemongod.
server.grpc.addressTipo: string
Endereço no qual o servidor de escuta do gRPC escuta. Use o seguinte formato:
<host>:<port> Em implantações autogerenciadas, esse endereço deve ser acessível pelos processos
mongodque enviam tráfego de pesquisa e gerenciamento de índice paramongot. Configure-o para que corresponda ao host e à porta quemongodusa para suas configuraçõesmongotHostesearchIndexManagementHostAndPort.Para desenvolvimento de host único,
localhosté o padrão mais seguro. Semongodemongotforem executados em hosts diferentes, definaserver.grpc.addresscomo uma interface quemongodpossa alcançar.Aviso
Dependendo da topologia do sistema , pode ser necessário vincular o servidor de query do
mongota uma interface acessível a partir do Cluster MongoDb. Embora a vinculação ao endereço IP0.0.0.0seja permitida, ela expõe o servidor a todas as redes públicas e acarreta o risco de acesso não autorizado.Para aumentar a segurança, considere restringir
server.grpc.addressa interfaces específicas que sejam controladas e protegidas na camada de rede, comolocalhostou outros endereços internos confiáveis.
Configurações opcionais
Esta seção descreve as configurações opcionais e condicionalmente necessárias para mongot. Se você omitir essas configurações, mongot usará o valor padrão especificado quando aplicável.
Configurações de autenticação do conjunto de réplicas
syncSource.replicaSet.x509Tipo: objeto
Necessidade: Obrigatório se você não usar
syncSource.replicaSet.scramAuthConfigurações de certificado X.509 para autenticar
mongotcommongod.
syncSource.replicaSet.x509.caFileTipo: string
Necessidade: obrigatório se você usar
syncSource.replicaSet.x509Arquivo da Autoridade de Certificação (CA) que contém certificados confiáveis para verificar o certificado apresentado por
mongod. O arquivo deve conter uma coleção de certificados X.509 no formato PEM.
syncSource.replicaSet.x509.tlsCertificateKeyFileTipo: string
Necessidade: obrigatório se você usar
syncSource.replicaSet.x509Caminho para o arquivo PEM que contém o certificado X.509 e a chave privada para autenticar
mongotcommongod. Obrigatório ao configurarsyncSource.replicaSet.x509.
syncSource.replicaSet.x509.tlsCertificateKeyFilePasswordFileTipo: string
Necessidade: opcional
Caminho para o arquivo que contém a senha para descriptografar o arquivo de chave de certificado especificado em
syncSource.replicaSet.x509.tlsCertificateKeyFile.
syncSource.replicaSet.scramAuthTipo: objeto
Necessidade: Obrigatório se você não usar
syncSource.replicaSet.x509Configurações para autenticação SCRAM.
syncSource.replicaSet.scramAuth.usernameTipo: string
Necessidade: obrigatório
O nome de usuário para autenticar.
syncSource.replicaSet.scramAuth.passwordFileTipo: string
Necessidade: obrigatório
Caminho para um arquivo que contém a senha para autenticar.
syncSource.replicaSet.scramAuth.authSourceTipo: string
Necessidade: opcional
Padrão: admin
Nome do banco de dados associado às credenciais de autenticação do
mongot.
syncSource.replicaSet.scramAuth.tlsTipo: objeto
Necessidade: opcional
Padrão: false
Configurações para TLS.
syncSource.replicaSet.scramAuth.tls.enabledTipo: Booleano
Necessidade: obrigatório se você especificar
syncSource.replicaSet.scramAuth.tlsSinalizador para habilitar a autenticação TLS. Defina como
truepara habilitar a autenticação TLS.
syncSource.replicaSet.scramAuth.tls.caFileTipo: string
Necessidade: opcional
Arquivo da Autoridade de Certificação (CA) que contém certificados confiáveis para verificar o certificado apresentado por
mongod. O arquivo deve conter uma coleção de certificados X.509 no formato PEM.
Configurações de cluster fragmentado
syncSource.routerTipo: objeto
Conexões de replicação para
mongosparamongot. Se omitido,mongotassume que está sendo executado em um ambiente não sharded. Obrigatório para implantações de cluster sharded.
syncSource.router.x509Tipo: objeto
Necessidade: Obrigatório se você não usar
syncSource.router.scramAuthConfigurações de certificado X.509 para autenticar
mongotcommongos.
syncSource.router.x509.caFileTipo: string
Necessidade: obrigatório se você usar
syncSource.router.x509Arquivo da Autoridade de Certificação (CA) que contém certificados confiáveis para verificar o certificado apresentado por
mongos. O arquivo deve conter uma coleção de certificados X.509 no formato PEM.
syncSource.router.x509.tlsCertificateKeyFileTipo: string
Necessidade: obrigatório se você usar
syncSource.router.x509Caminho para o arquivo PEM que contém o certificado X.509 e a chave privada para autenticar
mongotcommongos. Obrigatório ao configurarsyncSource.router.x509.
syncSource.router.x509.tlsCertificateKeyFilePasswordFileTipo: string
Necessidade: opcional
Caminho para o arquivo que contém a senha para descriptografar o arquivo de chave de certificado especificado em
syncSource.router.x509.tlsCertificateKeyFile.
syncSource.router.scramAuthTipo: objeto
Necessidade: Obrigatório se você não usar
syncSource.router.x509Configurações para autenticação SCRAM.
syncSource.router.scramAuth.usernameTipo: string
Necessidade: obrigatório
O nome de usuário para autenticar.
syncSource.router.scramAuth.passwordFileTipo: string
Necessidade: obrigatório
Caminho para um arquivo que contém a senha para autenticar.
syncSource.router.scramAuth.authSourceTipo: string
Necessidade: opcional
Nome do banco de dados associado às credenciais de autenticação do
mongot. Se não for especificado,authSourcepadronizará paraadmin.
syncSource.router.scramAuth.tlsTipo: objeto
Necessidade: opcional
Padrão: false
Configurações para TLS.
syncSource.router.scramAuth.tls.enabledTipo: Booleano
Necessidade: obrigatório se você especificar
syncSource.router.scramAuth.tlsSinalizador para habilitar a autenticação TLS. Defina como
truepara habilitar a autenticação TLS.
syncSource.router.scramAuth.tls.caFileTipo: string
Necessidade: opcional
Arquivo da Autoridade de Certificação (CA) que contém certificados confiáveis para verificar o certificado apresentado por
mongos. O arquivo deve conter uma coleção de certificados X.509 no formato PEM.
Configurações de preferência de leitura de replicação
syncSource.replicationReaderTipo: objeto
Controla a preferência de leitura que
mongotusa ao ler do conjunto de réplicas para replicação.Para filtrar as leituras por tags de nó do conjunto de réplicas, especifique
syncSource.replicationReader.tagSets.
syncSource.replicationReader.readPreferenceTipo: string
Padrão:
secondaryPreferredA preferência de leitura
mongoté usada para operações de replicação. Você pode especificar os seguintes valores:primaryprimaryPreferredsecondarysecondaryPreferrednearest
Observação
Comandos de gerenciamento de índice sempre usam
primarypreferência de leitura, independentemente dessa configuração.
syncSource.replicationReader.tagSetsType: Array
Array de conjuntos de tags que filtram quais membros do conjunto de réplicas recebem leituras de replicação. Você não pode configurar essa configuração se
syncSource.replicationReader.readPreferenceforprimary.Cada elemento de
tagSetsé um array de{ name: <name>, value: <value> }objetos que correspondem às tags de membro do conjunto de réplicas.mongotavalia conjuntos de tags em ordem e usa o primeiro conjunto de tags que corresponde a um nó. Por exemplo:tagSets: - [ { name: hostname, value: mongod1 }, { name: region, value: us-east-1 } ]
Configurações do servidor gRPC
A configuração server.grpc.address é necessária. Todas as outras configurações server.grpc são opcionais.
server.grpc.tls.modeTipo: string
Modo TLS para o servidor gRPC. Deve ser um dos seguintes valores:
"TLS""mTLS""disabled"
Obrigatório ao configurar
server.grpc.tls.
server.grpc.tls.certificateKeyFileTipo: string
Arquivo PEM que contém um certificado X.509 válido para
mongotusando uma chave privada PKCS#8.mongodvalida este certificado usando um arquivo de Autoridade de Certificação (CA) que você especifica com a opção--tlsCAFile. Obrigatório quandoserver.grpc.tls.modefor"TLS"ou"mTLS".
server.grpc.tls.certificateKeyFilePasswordFileTipo: string
Caminho para o arquivo que contém a senha para descriptografar o arquivo de chave de certificado especificado em
server.grpc.tls.certificateKeyFile.
server.grpc.tls.caFileTipo: string
Arquivo da Autoridade de Certificação (CA) que contém certificados confiáveis para verificar o certificado apresentado por
mongod. O arquivo deve conter uma coleção de certificados X.509 no formato PEM. Obrigatório quandoserver.grpc.tls.modefor"mTLS".
server.nameTipo: string
Nome fornecido pelo usuário para identificar uma instância
mongot. O MongoDB usaserver.namepara identificarmongothosts em interfaces programáticas, como$listSearchIndexes. Se você omitir esta configuração, o MongoDB gerará um nome automaticamente.
Configurações de métricas
metrics.enabledTipo: Booleano
Padrão: false
Sinalizador que ativa o ponto de extremidade de métricas do Prometheus. Se você definir isso como
false, o MongoDB analisará e validará a sintaxe das outras configurações no blocometrics, mas não iniciará o ouvinte de métricas do Prometheus. Obrigatório ao configurarmetrics.
Configurações de verificação de integridade
Configurações de registro
Configurações de embedding automatizado
Configurações básicas
Configure as seguintes definições para habilitar o Automated Embedding.
Observação
queryKeyFileeindexingKeyFilefuncionam como um par. Se você não configurar nenhum dos arquivos,mongotregistrará um aviso e desativará o embedding automático.providerEndpointé opcional. Quando definido, omongoto aplica como uma substituição para o ponto de extremidade do serviço de embedding configurado.isAutoEmbeddingViewWritero padrão éfalsese você o omitir.
embedding.providerEndpointTipo: string
URL do ponto de extremidade do provedor de embedding. Substituição opcional para o ponto de extremidade do provedor de embedding padrão. Use isso se quiser que
mongotenvie solicitações de embedding para um ponto de extremidade de provedor específico em vez do ponto de extremidade padrão.
embedding.queryKeyFileTipo: string
Caminho para o arquivo que contém a chave para as solicitações de embedding no tempo da query. Obrigatório para embedding automatizado.
embedding.indexingKeyFileTipo: string
Caminho para o arquivo que contém a chave para as solicitações de embedding no momento do índice. Obrigatório para embedding automatizado.
embedding.isAutoEmbeddingViewWriterTipo: Booleano
Sinalizador para designar a instância
mongotlíder responsável por escrever a visualização de incorporação automatizada. Se for verdadeiro, estamongotinstância atua como o gravador para atualizações de visualizações materializadas de embedding automático.Para implantações de instância única, defina-o como
truepara permitir que a instância grave a exibição de embedding automatizada.Se você tiver várias instâncias
mongotpara conjuntos de réplicas ou clusters sharded, certifique-se de que apenas uma instância grave a visualização de embedding automatizado para evitar duplicação ou conflitos. Defina o valor como:truepara designar uma instânciamongotcomo o líder responsável por escrever a visualização de incorporação automática.falsepara designar uma instânciamongotcomo seguidora que não grava a visualização de embedding automático.
configurações avançadas
advancedConfigs.autoEmbedding.materializedView.numConcurrentChangeStreamsTipo: inteiro
Necessidade: opcional
Padrão: 2 vezes a contagem de núcleos de CPU do host
Número máximo de fluxos de alteração de estado estável que o processo de replicação de visualizações materializadas pode ter pendentes a qualquer momento. Deve ser um número inteiro positivo.
advancedConfigs.autoEmbedding.materializedView.numIndexingThreadsTipo: inteiro
Necessidade: opcional
Padrão: A contagem de núcleos de CPU do host, com um mínimo de
1Número de threads usados para gravar dados de embedding nos índices da visualização materializada. Deve ser um número inteiro positivo.
advancedConfigs.autoEmbedding.materializedView.numEmbeddingThreadsTipo: inteiro
Necessidade: opcional
Padrão: A contagem de núcleos de CPU do host, com um mínimo de
1Número de threads usados para solicitar embedding do provedor de embedding. Deve ser um número inteiro positivo.
advancedConfigs.autoEmbedding.materializedView.numConcurrentInitialSyncsTipo: inteiro
Necessidade: opcional
Padrão: Metade de
advancedConfigs.replication.mongodb.numConcurrentInitialSyncs. Se o resultado for menor que1, ele usará1. Se você não definiradvancedConfigs.replication.mongodb.numConcurrentInitialSyncsn também, o padrão será1.Número máximo de índices de embedding automatizados que podem executar sua sincronização inicial ao mesmo tempo. Limitar a simultaneidade reduz a carga colocada no nó
mongodde origem e no provedor de embedding durante as criações iniciais. Deve ser um número inteiro positivo.
advancedConfigs.autoEmbedding.materializedView.matViewWriterMaxConnectionsTipo: inteiro
Necessidade: opcional
Padrão:
4Número máximo de conexões usadas para gravar na coleção de visualizações materializadas. Deve ser um número inteiro positivo não maior que
16.
advancedConfigs.autoEmbedding.materializedView.mvWriteRateLimitRpsTipo: inteiro
Necessidade: opcional
Default: No limit
Número máximo de commits de gravação em massa por segundo para a coleção de visualizações materializadas neste nó. Use esta configuração para limitar a taxa de transferência de gravação para o nó
mongodde origem. Deve ser um número inteiro positivo.
Configurações avançadas de indexação
advancedConfigs.indexing.lucene.refresh.intervalMsTipo: inteiro
Necessidade: opcional
Padrão:
1000Intervalo, em milissegundos, que o
mongotaguarda antes de atualizar um índice para tornar as alterações indexadas recentemente visíveis para queries. Valores mais baixos reduzem o atraso entre a gravação de um documento e a possibilidade de query, à custa de um trabalho de atualização mais frequente. Deve ser um número inteiro positivo.
advancedConfigs.indexing.lucene.mergePolicy.tiered.vectorMergePolicy.mergeBudgetMbTipo: inteiro
Necessidade: opcional
Padrão: 10% da memória total do hospedar
Orçamento de memória, em megabytes, disponível para mesclagens em segundo plano de segmentos de índice de vetor. Um orçamento maior permite que mais segmentos sejam mesclados de uma só vez, o que pode melhorar o desempenho da query, mas usa mais memória durante as mesclagens. Deve ser um número inteiro positivo.
advancedConfigs.indexing.lucene.mergeScheduler.concurrent.maxThreadCountTipo: inteiro
Necessidade: opcional
Padrão: O número de núcleos de CPU disponíveis para o host
Número máximo de threads que podem executar mesclagens de segmentos de índice simultaneamente. Valores mais altos permitem que mais mesclagens sejam executadas em paralelo. Deve ser um número inteiro positivo.
Configurações de consulta avançada
advancedConfigs.querying.lucene.maxClauseLimitTipo: inteiro
Necessidade: opcional
Padrão:
1024Número máximo de cláusulas que uma única query pode expandir.
mongotrejeita query que se expandem além desse limite. Aumentar esse limite permite query maiores, mas aumenta o custo de memória e CPU. Deve ser um número inteiro positivo.
advancedConfigs.querying.lucene.vectorFloorSegmentMBTipo: double
Necessidade: opcional
Padrão:
64.0Tamanho do segmento do piso, em megabytes, usado pela política de mesclagem para índices de pesquisa vetorial do MongoDB.
mongotmescla segmentos menores queadvancedConfigs.querying.lucene.vectorFloorSegmentMBde forma mais agressiva para reduzir o número total de segmentos e melhorar o desempenho da query. O valor deve ser um número positivo.
Configurações avançadas de replicação
advancedConfigs.replication.mongodb.numConcurrentInitialSyncsTipo: inteiro
Necessidade: opcional
Padrão: o menor número de núcleos de CPU do host e
2Número máximo de índices que podem executar sua sincronização inicial ao mesmo tempo. A limitação da simultaneidade reduz a carga colocada no nó
mongodde origem enquanto muitas construção de índices simultaneamente. Deve ser um número inteiro positivo.
advancedConfigs.replication.mongodb.numConcurrentChangeStreamsTipo: inteiro
Necessidade: opcional
Padrão: 2 vezes a contagem de núcleos de CPU do host
Número máximo de fluxos de alteração de estado estável que podem ter solicitações pendentes para o nó
mongodde origem a qualquer momento. Essa configuração controla quantos índices podem extrair atualizações simultaneamente após a conclusão da sincronização inicial. Deve ser um número inteiro positivo.
advancedConfigs.replication.mongodb.numIndexingThreadsTipo: inteiro
Necessidade: opcional
Padrão: Metade da contagem de núcleos de CPU do host, com um mínimo de
1Número de threads usados para gravar documentos replicados e alterações em índices. Valores mais altos podem melhorar a taxa de transferência de indexação, mas podem aumentar o uso da CPU e da memória. O valor deve ser um número inteiro positivo.
Configurações avançadas do FTDC
advancedConfigs.ftdc.enabledTipo: Booleano
Necessidade: opcional
Padrão:
trueSinalizador que permite a captura de dados de diagnóstico em tempo integral (FTDC). A coleta de dados de diagnóstico FTDC está habilitada por padrão. Quando
false,mongotnão cria nenhum relatório FTDC na inicialização, portanto, não captura dados de diagnóstico.
advancedConfigs.ftdc.directorySizeMbTipo: inteiro
Necessidade: opcional
Padrão:
100Tamanho total máximo, em megabytes, do diretório de arquivo FTDC. Deve ser pelo menos
10e maior queadvancedConfigs.ftdc.fileSizeMb.