Você pode usar o tipo vector para indexar embeddings de vetores. O campo vetorial deve conter um array de números dos seguintes tipos:
BSON
int32,int64, oudoubletipos de dadosBSON
doubleTipo de Dados
You can use the vectorSearch operator, similar to the $vectorSearch stage, in your $search aggregation pipeline to query fields indexed as the vector type.
vector Limitações de tipo
Aplicam-se as seguintes limitações:
Você não pode ter índices em campos com arrays de objetos (tipo
embeddedDocumentsde MongoDB Search) como tipovector.Não é possível definir storedSource como
trueem definições de índice que contenham o tipovector. Em vez disso, useincludepara especificar os campos a serem armazenados emmongotou useexcludepara excluir o campo do tipovectordo armazenamento.You can't use the
$vectorSearchstage to query fields indexed as thevectortype.Você pode indexar campos como o tipo
vectorno MongoDB Search Playground.
Definir o índice para o tipo vector
Configurar propriedades de campo do vector
Configurar propriedades de campo do vector
O tipo MongoDB Search vector usa os seguintes parâmetros:
Opção | Tipo | necessidade | Descrição |
|---|---|---|---|
|
| Obrigatório | Etiqueta legível por humanos que identifica este tipo de campo. O valor deve ser |
| Int | Obrigatório | Número de dimensões vetoriais que o MongoDB Search impõe no momento do índice e da query. Você pode definir este campo somente para campos do tipo Para indexar vetores quantizados ou BinData, você pode especificar um dos seguintes valores:
The embedding model you choose determines the number of dimensions in your vector embeddings, with some models having multiple options for how many dimensions are output. To learn more, see Choosing a Method to Create Embeddings. |
| String | Obrigatório | Função de similaridade vetorial a ser usada para procurar os K- vizinhos mais próximos. Você pode definir este campo somente para campos tipo Você pode especificar um dos seguintes valores:
To learn more, see About the Similarity Functions. |
| String | Opcional | Tipo de quantização vetorial automática para seus vetores. Use essa configuração somente se suas incorporações forem Você pode especificar um dos seguintes valores:
To learn more, see About Quantization. |
| String | Opcional | Estrutura de índice para o campo de vetor. O valor pode ser:
If omitted, defaults to If you specify |
| Objeto | Opcional | Parameters to use for Hierarchical Navigable Small Worlds graph construction. If omitted, uses the default values for the IMPORTANTE: isso está disponível como um recurso de prévia. A modificação dos valores padrão pode ter impacto adverso no índice de pesquisa e nas queries do MongoDB Search. |
| Int | Opcional | Maximum number of edges (or connections) that a node can have in the Hierarchical Navigable Small Worlds graph. Value can be between A higher number improves :recall (accuracy of search results) because the graph is better connected. However, this also increases query and indexing time by increasing the number of neighbors to evaluate per graph node, and requires more memory to store the additional nodes for each connection in the Hierarchical Navigable Small Worlds graph. |
| Int | Opcional | Analogamente a Um número mais alto fornece um grafo com conexões de alta qualidade, o que pode melhorar a qualidade da pesquisa (recall), mas também pode aumentar a latência da query. |
Experimente um exemplo para o tipo vector
The following index definition example uses the sample_mflix.embedded_movies collection in the sample data. After you load the collection, you can use the following example to index the plot_embedding_voyage_3_large field as the vector type for running queries using the vectorSearch (MongoDB Search Operator). For a sample query to run against this index, see Examples.
Esta definição de índice indexa automaticamente todos os campos indexáveis dinamicamente usando o padrão typeSet e também indexa o campo plot_embedding_voyage_3_large como tipo vector com as seguintes configurações:
2048número de dimensõesdotProductfunção de similaridadescalarquantizaçãohnswmétodo de indexação (padrão)