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.
O processo mongot
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
mongotestabelecem conexões permanentes com o banco de dados para atualizar índices do banco de dados em tempo real.Processa queries de pesquisa.
Quando
mongodrecebe uma query$searchou$searchMeta, ele direciona a query para um dosmongotnós. Omongotque recebe a query processa a query, agrega os dados e retorna os resultados paramongod, 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.
Networking
A conectividade de rede entre mongot e mongod vai em ambas as direções:
mongotestabelece conexões com o conjunto de réplicas para obter os dados usados para construir índices e executar query.mongodconecta-se aomongotpara 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.
Implantação gerenciada pelo operador
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:
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.Gera configuração do
mongotem um arquivo YAML e salva em um mapa de configuração denominado<MongoDBSearch.metadata.name>-search-config.Implementa o conjunto stateful do MongoDB Search denominado
<MongoDBSearch.metadata.name>-searchcom os requisitos de armazenamento e recursos configurados de acordo comspec.persistenceespec.resourceRequirementsna CR.Atualiza a configuração de cada processo
mongodadicionando as opçõessetParameternecessárias, incluindo os nomes de host e números de porta dos hostsmongot.
Implantação externa do MongoDB
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.
Segurança
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.
Limitações
Você não pode implantar o MongoDB Search nas seguintes arquiteturas:
IBM Power (ppc64le)
IBM Z (s390x)
Dica
Implantar MongoDB Search e pesquisa vetorial — Implantar MongoDB Search e pesquisa vetorial
Configurações do MongoDB Search e da pesquisa vetorial — configurações do CR do MongoDBSearch