O MongoDB Search habilita recursos de pesquisa de texto completo em seu ambiente Kubernetes implementando o mongot processo junto com seu implantação de banco de dados MongoDBmongod (). O mongot processo gerencia índices de pesquisa, fornece dados do banco de dados e processa queries e. Isso elimina a necessidade de manter sistemas de pesquisa separados e, ao mesmo tempo, fornecer recursos avançados de $search $searchMeta pesquisa.
Para implantar o MongoDB Search, você aplica o MongoDBSearch Custom Resource (CR), que o Operador do Kubernetes pega e usa para implantar mongot pods e solicitar armazenamento persistente especificado no spec.
Para obter os procedimentos de implantação, consulte Implantar o MongoDB Search e o Vector Search.
O mongot processo
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 ou, ele direciona a query para um$search$searchMetadosmongotnós . Omongotque recebe a query processa a query, agrega os dados e retorna os resultadosmongodpara, que encaminha os resultados ao usuário.
Os mongot componentes do 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 sistema de conjunto de réplicas tem seus próprios nós de pesquisa dedicados. Para saber mais sobre a arquitetura de nós de pesquisa, consulte Arquitetura de nós na documentação de pesquisa do MongoDB .
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 criar índices e executar queries.mongodconecta-se aomongotpara encaminhar operações relacionadas à pesquisa, como gerenciamento de índice e consulta de dados.
O mongod atua como proxy para todas as queries de pesquisa. Você nunca interage diretamente com o mongot.
Sistema gerenciado 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 CR MongoDB referenciado pelo MongoDBSearch
spec.source.mongodbResourceRefusando, ou por uma convenção de nomenclatura procurando o CR do MongoDB 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 stateful set do MongoDB Search denominado
<MongoDBSearch.metadata.name>-searchcom os requisitos de armazenamento e recursos configurados de acordo comspec.persistenceespec.resourceRequirementsno 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.
MongoDB Deployment Externo
Quando o conjunto de réplicas MongoDB está fora do Kubernetes, você implementa o mongot utilizando 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 Kubernetes configurará automaticamente a autenticação de arquivo de chave para o MongoDB Search. Se o servidor MongoDB for externo, você deverá criar um Kubernetes Secret contendo a credencial de arquivo de chave do conjunto de réplica e referenciá-lo no MongoDBSearch CR.
Limitações
Você não pode distribuir o MongoDB Search nas seguintes arquiteturas:
IBM Power (ppc64le)
IBM Z (s390x)
Dica
Implemente o MongoDB Search e Vector Search — Implemente o MongoDB Search e Vector Search
Configurações de pesquisa Vector Search do MongoDB — Configurações de CR do MongoDBSearch