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

Instalar ou desinstalar o MongoDB Search no Community em um contĂȘiner Docker

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.

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.

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:

  1. Instale o Docker e o Docker Compose.

  2. 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.

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:

1

Para extrair a imagem do Docker do mongot, execute o seguinte comando:

docker pull mongodb/mongodb-community-search:latest

Para verificar se a imagem estĂĄ no seu desktop do Docker, execute o seguinte comando:

docker image ls mongodb/mongodb-community-search
2

Para criar uma rede Docker para comunicação entre contĂȘineres entre o banco de dados e os containers de pesquisa, execute o seguinte comando:

docker network create search-community
3

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.

4

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.

5

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
6

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
7

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
8

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ĂĄrio mongot.

  • Substitua <your-mongot-password> pela senha que vocĂȘ especificou em seu passwordFile na 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.

9

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.

10

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 dados mongot.

  • Substitua </path/to/mongot.conf> pelo caminho para o arquivo de configuração do mongot que 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-community com um contĂȘiner denominado mongot-community.

11

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 processo mongot estiver em execução

    mongot pode nĂŁo servir queries, pois nĂŁo verifica o status dos Ă­ndices, que devem estar no estado Ready para servir queries.

  • NOT_SERVING, se o processo mongot nĂŁo estiver em execução

Para obter mais informaçÔes, consulte Verifique sua conexão mongot.

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.

1

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().

2

Para interromper o processo mongot, interrompa a execução da imagem do contĂȘiner no Docker.

3

Para remover os arquivos de configuração mongot e mongod, execute os seguintes comandos usando o caminho completo dos arquivos de configuração:

rm /path/to/config.default.yml
rm /path/to/mongod.conf
4

Para remover o arquivo de senha, execute os seguintes comandos usando o caminho completo para o arquivo de senha:

rm /path/to/passwordFile
5

Para remover o diretĂłrio de dados que armazena dados mongot, execute o seguinte comando usando o caminho completo para o diretĂłrio de dados mongot :

rm /path/to/mongot/data