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

Install or Uninstall MongoDB Search on Community in a Docker Container

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 a uma implantação destinada à experimentação, consulte os seguintes tutoriais para implantações autogerenciadas:

Antes de implantar o mongot, você deve concluir as seguintes etapas:

  1. Instale o Docker e o Docker Compose.

  2. If you want MongoDB Vector Search to automatically generate embeddings for text data in your collection, create endpoint service API keys. To learn more, see Automated Embedding.

    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.

    If you don't already have the keys, create the endpoint service API keys from the Atlas UI. We recommend that you create two keys, one for generating embeddings at index-time and another for generating embeddings at query-time, from two Atlas projects.

    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

This procedure provides a simple and insecure default configuration that does not enable access control. The steps create a deployment intended for local experimentation only.

Before exposing these containers and using your setup in production, see the following resources to secure your deployment:

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

You must have a minimum of MongoDB 8.2+ to use MongoDB Search with an on-prem deployment. For more information, see MongoDB Search Compatibility.

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:

  • Replace <your_admin_username> with the username you want to specify for your admin user.

  • Replace <your_admin_password> with the password you want to specify for your admin user.

  • Replace </path/to/data/db> with the path to the local directory for the mounted volume.

  • Replace </path/to/mongod.conf> with the path to the configuration file you created above.

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 must be able to connect to your MongoDB deployment through a user with the searchCoordinator role.

Execute o seguinte comando para conectar ao banco de dados do admin :

use admin

Para criar um usuário com a função searchCoordinator:

  • Replace <your-mongot-username> with a username for your mongot user.

  • 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" ]
}
)

For more information on creating users, see Create a User on Self-Managed Deployments.

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.

For more information on mongot configuration options, see mongot Options.

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:

  • Replace </path/to/data/mongot> with the path to the local directory for the mounted volume to store mongot data.

  • 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

To verify, send a request by using a HTTP client or curl to the /health endpoint. For example, send a curl request similar to the following sample request:

curl localhost:8080/health

O endpoint retorna uma das seguintes opções na resposta:

  • SERVING, if the mongot process is running

    mongot might not serve queries as it doesn't check the status of the indexes, which must be in Ready state to serve queries.

  • NOT_SERVING, if the mongot process isn't running

For more information, see Verify Your mongot Connection.

To completely remove MongoDB Search and MongoDB Vector Search from a system, remove the container image, the configuration files, and any data or log directories. The following section guides you through the necessary steps.

1

Para soltar o usuário do mongotUser, execute os seguintes comandos:

use admin
db.dropUser("mongotUser")

For details, see 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

To remove the password file, run the following commands using the full path to the password file:

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