Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Arquitetura do MongoDB Search

O MongoDB Search permite funcionalidades de pesquisa de texto completo em seu ambiente Kubernetes implantando o processo mongot junto com a implantação do banco de dados do MongoDB (mongod). O processo mongot gerencia índices de pesquisa, obtém dados do banco de dados e processa queries $search e $searchMeta. Isso elimina a necessidade de manter sistemas de pesquisa separados, ao mesmo tempo em que oferece recursos de pesquisa avançados.

Para implantar o MongoDB Search, você aplica o Recurso Personalizado (CR) do MongoDBSearch, que o operador do Kubernetes detecta e usa para implantar mongot pods e solicitar o armazenamento persistente especificado no spec.

Para procedimentos de implantação, consulte Implantar MongoDB Search e pesquisa vetorial.

Cada processo do mongot tem seu próprio volume persistente que não é compartilhado com o banco de dados ou outros nós de pesquisa. O armazenamento é usado para manter índices que são criados a partir dos dados obtidos continuamente do banco de dados. As definições do índice (metadados) são armazenadas no próprio banco de dados .

O mongot executa as seguintes ações:

  • Gerencia o índice.

    O mongot é responsável por atualizar as definições de índice no banco de dados.

  • Obtém os dados do banco de dados.

    Os nós do mongot estabelecem conexões permanentes com o banco de dados para atualizar índices do banco de dados em tempo real.

  • Processa queries de pesquisa.

    Quando mongod recebe uma query $search ou $searchMeta, ele direciona a query para um dos mongot nós. O mongot que recebe a query processa a query, agrega os dados e retorna os resultados para mongod, que encaminha os resultados para o usuário.

Os componentes do mongot são fortemente associados a um único conjunto de réplicas MongoDB e não podem ser compartilhados entre vários bancos de dados ou conjuntos de réplicas. Cada implantação de conjunto de réplicas tem seus próprios nós de pesquisa dedicados. Para saber mais sobre a arquitetura do nó de pesquisa, consulte Arquitetura de nó na documentação do MongoDB Search.

A conectividade de rede entre mongot e mongod vai em ambas as direções:

  • mongot estabelece conexões com o conjunto de réplicas para obter os dados usados para construir índices e executar query.

  • mongod conecta-se ao mongot para encaminhar operações relacionadas à pesquisa, como gerenciamento de índice e consulta de dados.

O mongod atua como proxy para todas as query de pesquisa. Você nunca interage diretamente com o mongot.

Quando os processos mongot e mongod são implantados dentro do cluster Kubernetes, o Operador Kubernetes executa a configuração para ambos os processos automaticamente. Especificamente, o operador Kubernetes:

  1. Localiza o MongoDB CR referenciado pelo MongoDBSearch usando spec.source.mongodbResourceRef, ou por uma convenção de nomenclatura procurando o MongoDB CR com o mesmo nome que MongoDBSearch.

  2. Gera configuração do mongot em um arquivo YAML e salva em um mapa de configuração denominado <MongoDBSearch.metadata.name>-search-config.

  3. Implementa o conjunto stateful do MongoDB Search denominado <MongoDBSearch.metadata.name>-search com os requisitos de armazenamento e recursos configurados de acordo com spec.persistence e spec.resourceRequirements na CR.

  4. Atualiza a configuração de cada processo mongod adicionando as opções setParameter necessárias, incluindo os nomes de host e números de porta dos hosts mongot.

Quando o conjunto de réplicas do MongoDB está fora do Kubernetes, você implanta mongot usando o operador Kubernetes e executa algumas etapas manualmente. O operador Kubernetes lida com a configuração dos pods de pesquisa, mas você deve reconfigurar seus nós do MongoDB e a rede.

Se o servidor MongoDB estiver dentro do cluster Kubernetes, o operador do Kubernetes configurará automaticamente a autenticação de arquivo de chave para o MongoDB Search. Se o servidor MongoDB for externo, você deverá criar um secret do Kubernetes contendo as credenciais do arquivo de chave do conjunto de réplicas e referenciá-lo no MongoDBSearch CR.

Você não pode implantar o MongoDB Search nas seguintes arquiteturas:

  • IBM Power (ppc64le)

  • IBM Z (s390x)

Dica