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.
Install MongoDB Search and Vector Search with Docker
Observação
Para integrar mais rapidamente a uma implantação destinada à experimentação, consulte os seguintes tutoriais para implantações autogerenciadas:
Antes de começar
Antes de implantar o mongot, você deve concluir as seguintes etapas:
Instale o Docker e o Docker Compose.
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.
Procedimento
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:
Download the MongoDB Docker image.
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.
Create a mongot sync-user password file.
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
Start your mongod.
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
In a new shell, start 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
Create a user for the mongot process on your MongoDB deployment.
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 yourmongotuser.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" ] } )
For more information on creating users, see Create a User on Self-Managed Deployments.
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.
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.
Inicie o processo de mongot.
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 storemongotdata.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.
Verify the health of the mongot process.
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 themongotprocess is runningmongotmight not serve queries as it doesn't check the status of the indexes, which must be inReadystate to serve queries.NOT_SERVING, if themongotprocess isn't running
For more information, see Verify Your mongot Connection.
Uninstall MongoDB Search and MongoDB Vector Search with Docker
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.
Drop the mongotUser user.
Para soltar o usuário do mongotUser, execute os seguintes comandos:
use admin db.dropUser("mongotUser")
For details, see db.dropUser().