MongoDB Search enables full-text search capabilities in your Kubernetes environment by deploying the mongot process alongside your MongoDB database deployment (mongod). The mongot process manages search indexes, sources data from the database, and processes $search and $searchMeta queries. This eliminates the need to maintain separate search systems while providing advanced search features.
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.
When
mongodreceives a$searchor$searchMetaquery, it directs the query to one of themongotnodes. Themongotthat receives the query processes the query, aggregates the data, and returns the results tomongod, which forwards the results to the user.
The mongot components are tightly coupled with a single MongoDB replica set and cannot be shared across multiple databases or replica sets. Each replica set deployment has its own dedicated search nodes. To learn more about Search node architecture, see Node Architecture in the MongoDB Search documentation.
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:
Encontra o MongoDB CR referenciado por MongoDBSearch usando
spec.source.mongodbResourceRef, ou por uma convenção de nomenclatura procurando o MongoDB CR com o mesmo nome que MongoDBSearch.Gera a configuração
mongotem um arquivo YAML e a salva em um mapa de configuração chamado<MongoDBSearch.metadata.name>-search-config.Implanta 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 Kubernetes configurará automaticamente a autenticação de arquivo de chave para o MongoDB Search. Se o servidor MongoDB for externo, você deve 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