vector El tipo de campo y el operador vectorSearch están disponibles como funciones de vista previa. La función y la documentación correspondiente pueden cambiar en cualquier momento durante el período de vista previa. Para obtener más información, consulte Características de vista previa.Puede usar el tipo vector para indexar incrustaciones vectoriales. El campo vectorial debe contener una matriz de números de los siguientes tipos:
BSON
int32,int64odoubletipos de datosBSON
doubleTipo de dato
Puede utilizar el operador vectorSearch, similar a la $vectorSearch etapa, en su canal $search de agregación para consultar campos indexados como el vector tipo.
vector Limitaciones de tipo
Se aplican las siguientes limitaciones:
No se pueden indexar campos con matrices de objetos (tipo
embeddedDocumentsde MongoDB Search) como tipovector.No se puede establecer
trueel valor de "storedSource" en en definiciones de índice que contenganvectorel tipo. En su lugar, useincludepara especificar los campos que se almacenarán enmongotoexcludepara excluir elvectorcampo de tipo del almacenamiento.No se puede utilizar la etapa para consultar campos indexados como
$vectorSearchelvectortipo.Puede indexar campos como tipo
vectoren el área de búsqueda de MongoDB.
Defina el índice para el vector tipo
Configurar vector propiedades del campo
Configurar vector propiedades del campo
El tipo vector de búsqueda de MongoDB toma los siguientes parámetros:
Opción | Tipo | Necesidad | Descripción |
|---|---|---|---|
|
| Requerido | Etiqueta legible por humanos que identifica este tipo de campo. El valor debe ser |
| Int | Requerido | Cantidad de dimensiones vectoriales que MongoDB Search aplica en el momento de la indexación y de la consulta. Solo puedes establecer este campo para campos de tipo Para la indexación de vectores cuantizados o BinData, puede especificar uno de los siguientes valores:
El modelo de incrustación que elijas determina el número de dimensiones de tus incrustaciones vectoriales, y algunos modelos ofrecen múltiples opciones para la cantidad de dimensiones que se generan. Para aprender más, consulta Elegir un método para crear incrustaciones. |
| String | Requerido | Función de similitud vectorial para usar en la búsqueda de los K vecinos más cercanos. Puede configurar este campo solo para campos de tipo Puede especificar uno de los siguientes valores:
Para obtener más información, consulte Acerca de las funciones de similitud. |
| String | Opcional | Tipo de cuantización automática de vectores para tus vectores. Utiliza esta configuración solo si tus incrustaciones son vectores Puede especificar uno de los siguientes valores:
Para obtener más información, consulte Cuantificación de vectores. |
| Objeto | Opcional | Parámetros a utilizar para mundos pequeños navegables jerárquicamenteConstrucción de gráficos. Si se omite, se utilizan los valores predeterminados para los parámetros IMPORTANTE: Esta función está disponible como vista previa. Modificar los valores predeterminados podría afectar negativamente el índice y las consultas de búsqueda de MongoDB. |
hnswOptions.maxEdges | Int | Opcional | Número máximo de aristas (o conexiones) que un nodo puede tener en el grafo de Hierarchical Navigable Small Worlds. El valor puede estar entre Un número mayor mejora la recuperación (precisión de los resultados de búsqueda) porque el grafo está mejor conectado. Sin embargo, esto también aumenta el tiempo de consulta e indexación al aumentar el número de vecinos a evaluar por nodo del grafo, y requiere más memoria para almacenar los nodos adicionales de cada conexión en el grafo de Mundos Pequeños Navegables Jerárquicos. |
hnswOptions.numEdgeCandidates | Int | Opcional | De forma análoga a Un número mayor proporciona un gráfico con conexiones de alta calidad, lo que puede mejorar la calidad de la búsqueda (recuperación), pero también puede aumentar la latencia de la consulta. |
Pruebe un ejemplo para el vector tipo
El siguiente ejemplo de definición de índice utiliza la colección sample_mflix.embedded_movies en los datos de muestra. Después de cargar la colección, puedes usar el siguiente ejemplo para indexar el campo plot_embedding_voyage_3_large como el tipo vector para ejecutar consultas utilizando el vectorSearch (operador de búsqueda de MongoDB). Para ver una query de muestra que se ejecutará sobre este índice, consulte Ejemplos.
Esta definición de índice indexa automáticamente todos los campos indexables dinámicamente utilizando el valor predeterminado typeSet y también indexa el plot_embedding_voyage_3_large campo como vector tipo con las siguientes configuraciones:
2048número de dimensionesdotProductfunción de similitudscalarcuantización