VocĂȘ pode instalar o processo de pesquisa, mongot, no MongoDB Community Edition. O processo de pesquisa estĂĄ disponĂvel para implantação como uma imagem no Docker. O processo mongot oferece suporte a pesquisas de texto completo e pesquisas semĂąnticas com suas prĂłprias incorporaçÔes ou incorporaçÔes automatizadas.
Instale o MongoDB Search e a pesquisa vetorial com o Docker
Observação
Para integrar mais rapidamente com uma implantação destinada Ă experimentação, consulte o InĂcio rĂĄpido de Desenvolvimento local do MongoDB Search e do MongoDB pesquisa vetorial.
Antes de começar
Importante
mongot sincroniza dados de mongod e requer um conjunto de réplicas do MongoDB. Uma implantação autÎnoma mongod não aceita mongot.
Antes de implantar o mongot, conclua as seguintes etapas:
Instale o Docker e o Docker Compose.
Se vocĂȘ quiser que o MongoDB pesquisa vetorial gere automaticamente embedding para dados de texto em sua coleção, crie chaves API de serviço de ponto de extremidade. Para saber mais, consulte Embedding automatizada.
Importante
A incorporação automĂĄtica estĂĄ em visualização. O recurso e a documentação correspondente podem mudar a qualquer momento durante o perĂodo de PrĂ©-visualização. Para **aprender** mais, consulte Visualizar recursos.
Se vocĂȘ ainda nĂŁo tiver as chaves, crie as chaves de API do serviço de ponto de extremidade a partir da IU do Atlas. Recomendamos que vocĂȘ crie duas chaves, uma para gerar embedding em tempo de Ăndice e outra para gerar embedding em tempo de query, a partir de dois projetos do Atlas.
Observação
O ponto de extremidade do provedor para gerar incorporaçÔes depende se vocĂȘ cria as chaves API a partir da IU do Atlas ou diretamente do Voyage IA.
Procedimento
Aviso
Este procedimento fornece uma configuração padrĂŁo mĂnima e insegura que nĂŁo permite o controle de acesso. As etapas criam uma implantação destinada apenas Ă experimentação local.
Antes de expor esses contĂȘineres e usar sua configuração em produção, consulte os seguintes recursos para proteger sua implantação:
Baixe a imagem do MongoDB Docker.
Para baixar a imagem do MongoDB Docker, execute o seguinte comando:
docker pull mongodb/mongodb-community-server:latest
Observação
VocĂȘ deve ter um mĂnimo de MongoDB 8.2+ para usar o MongoDB Search com uma implantação on-prem. Para obter mais informaçÔes, consulte Compatibilidade de pesquisa do MongoDB.
Para obter detalhes adicionais sobre como instalar o MongoDB com Docker, consulte Instalar o MongoDB Community com Docker.
Crie um arquivo de senha de usuårio de sincronização mongot.
Crie um arquivo de senha para mongot se conectar a mongod.
Por exemplo, selecione seu sistema operacional e substitua <mongot_password> por sua senha. Em seguida, execute o seguinte comando para criar um arquivo chamado passwordFile:
echo -n "<mongot_password>" > passwordFile chmod 400 passwordFile
Observação
O sinalizador -n impede uma nova linha Ă direita.
Crie seu arquivo de configuração mongod.
Para criar seu arquivo de configuração, salve o seguinte cĂłdigo em mongod.conf ou no local de sua preferĂȘncia.
# MongoDB Configuration File # Network configuration net: port: 27017 bindIpAll: true # Equivalent to --bind_ip_all # Replica set configuration replication: replSetName: rs0 # Search configuration parameters setParameter: # Server parameters to advise mongod of mongot availability for search index management and querying searchIndexManagementHostAndPort: mongot-community.search-community:27028 mongotHost: mongot-community.search-community:27028 skipAuthenticationToSearchIndexManagementServer: false useGrpcForSearch: true searchTLSMode: disabled
Comece seu mongod.
Para iniciar o mongod:
Substitua
<your_admin_username>pelo nome de usuĂĄrio que vocĂȘ deseja especificar para seu usuĂĄrio administrador.Substitua
<your_admin_password>pela senha que vocĂȘ deseja especificar para seu usuĂĄrio administrador.Substitua
</path/to/data/db>pelo caminho para o diretĂłrio local do volume montado.Substitua
</path/to/mongod.conf>pelo caminho para o arquivo de configuração que vocĂȘ criou acima.
docker run --rm \ --name mongod \ -v </path/to/mongod.conf>:/etc/mongod.conf:ro \ -v </path/to/data/db>:/data/db \ -p 27017:27017 \ --network search-community \ mongodb/mongodb-community-server:latest \ --config /etc/mongod.conf \ --replSetMember=mongod.search-community:27017
Em uma nova shell, inicie mongosh.
Execute o seguinte comando para se conectar Ă instĂąncia mongod que vocĂȘ iniciou na porta 27017, substituindo <your_admin_username> e <your_admin_password> pelo nome de usuĂĄrio e senha que vocĂȘ criou para o usuĂĄrio administrador.
docker exec -it mongod mongosh --port 27017
Crie um usuårio para o processo mongot em sua implantação do MongoDB.
mongot deve ser capaz de se conectar à sua implantação do MongoDB por meio de um usuårio com a função searchCoordinator.
Execute o seguinte comando para conectar ao banco de dados do admin :
use admin
Para criar um usuårio com a função searchCoordinator:
Substitua
<your-mongot-username>por um nome de usuĂĄrio para o seu usuĂĄriomongot.Substitua
<your-mongot-password>pela senha que vocĂȘ especificou em seupasswordFilena etapa 5.Execute o seguinte comando:
db.createUser( { user: "<mongot_username>", pwd: "<mongot_password>", roles: [ "searchCoordinator" ] } )
Para obter mais informaçÔes sobre como criar usuårios, consulte Criar um usuårio em implantaçÔes autogerenciadas.
Especifique suas opçÔes de configuração de pesquisa.
VocĂȘ pode configurar o mongot com um arquivo de configuração YAML. VocĂȘ deve especificar o nome de usuĂĄrio especificado na etapa anterior como syncSource.replicaSet.username. VocĂȘ tambĂ©m deve especificar o passwordFile que criou na etapa anterior como syncSource.replicaSet.passwordFile.
Para mais informaçÔes sobre as opçÔes de configuração do mongot, consulte OpçÔes do mongot.
Por exemplo, vocĂȘ pode adaptar as configuraçÔes Ă sua configuração local, conforme mostrado abaixo:
# mongot.conf syncSource: replicaSet: hostAndPort: "mongod.search-community:27017" scramAuth: username: "mongotUser" passwordFile: "/passwordFile" authSource: "admin" tls: enabled: false replicationReader: readPreference: "secondaryPreferred" storage: dataPath: "/data/mongot" server: grpc: address: "mongot-community.search-community:27028" tls: mode: "disabled" metrics: enabled: true address: "mongot-community.search-community:9946" healthCheck: address: "mongot-community.search-community:8080" logging: verbosity: INFO
Salve seu arquivo em mongot.config ou no local de arquivo de sua preferĂȘncia.
Ambos os containers sĂŁo executados na mesma rede search-community Docker.
Inicie o processo de mongot.
Para iniciar o binĂĄrio de pesquisa na comunidade, mongot:
Substitua
</path/to/data/mongot>pelo caminho para o diretĂłrio local do volume montado para armazenar dadosmongot.Substitua
</path/to/mongot.conf>pelo caminho para o arquivo de configuração domongotque vocĂȘ criou na etapa anterior.Substitua
</path/to/passwordFile>pelo caminho para o arquivo de senha que vocĂȘ criou.
docker run --rm \ --name mongot-community \ -v </path/to/data/mongot>:/data/mongot \ -v </path/to/mongot.conf>:/mongot-community/config.default.yml \ -v </path/to/passwordFile>:/passwordFile:ro \ --network search-community \ -p 8080:8080 \ -p 9946:9946 \ mongodb/mongodb-community-search:latest
Este comando:
Monta o volume.
Monta um arquivo de configuração de um volume local.
Especifica a faixa de portas.
ExpÔe a porta de métricas.
Inicia o contĂȘiner na rede Docker do
search-communitycom um contĂȘiner denominadomongot-community.
Verifique a integridade do processo mongot.
Para verificar, envie uma solicitação usando um cliente HTTP ou curl para o ponto de extremidade /health. Por exemplo, envie uma solicitação curl semelhante à seguinte solicitação de amostra:
curl localhost:8080/health
O endpoint retorna uma das seguintes opçÔes na resposta:
SERVING, se o processomongotestiver em execuçãomongotpode nĂŁo servir queries, pois nĂŁo verifica o status dos Ăndices, que devem estar no estadoReadypara servir queries.NOT_SERVING, se o processomongotnĂŁo estiver em execução
Para obter mais informaçÔes, consulte Verifique sua conexão mongot.
Desinstalar o MongoDB Search e o MongoDB pesquisa vetorial com o Docker
Para remover completamente o MongoDB Search e o MongoDB pesquisa vetorial de um sistema, remova a imagem do contĂȘiner, os arquivos de configuração e quaisquer diretĂłrios de dados ou log. A seção a seguir orienta vocĂȘ nas etapas necessĂĄrias.
Descarte o usuĂĄrio mongot.
Para descartar o usuĂĄrio mongot, execute os seguintes comandos, substituindo <mongot_username> pelo nome de usuĂĄrio que vocĂȘ criou para mongot:
use admin db.dropUser("<mongot_username>")
Para obter detalhes, consulte db.dropUser().