Puedes usar el tipo vector para indexar incrustaciones vectoriales. El campo vectorial debe contener un arreglo de números de los siguientes tipos:
BSON
int32,int64, odoubletipos de datosBSON
doubleTipo de dato
Puedes utilizar el operador vectorSearch, similar a la etapa $vectorSearch, en tu pipeline de agregación $search para consultar campos indexados como el tipo vector.
vector Limitaciones de tipo
Se aplican las siguientes limitaciones:
No se puede indexar campos con arreglos de objetos (tipo MongoDB Search
embeddedDocuments) como tipovector.No puedes establecer storedSource como
trueen definiciones de índices que contengan tipovector. En su lugar, usaincludepara especificar los campos a almacenar enmongoto usaexcludepara excluir el campo de tipovectordel almacenamiento.No puedes usar la etapa de
$vectorSearchpara query campos indexados como el tipovector.Puedes indexar campos como el tipo
vectoren MongoDB Search Playground.
Defina el índice para el vector tipo.
Configurar Propiedades vector del campo
Configurar las propiedades del campo dateFacet
El tipo dateFacet de búsqueda de MongoDB acepta 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 en tus incrustaciones vectoriales, y algunos modelos ofrecen varias opciones para la cantidad de dimensiones que se generan. Para obtener más información, consulte 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 aprender más, consulte Acerca de la Quantization. |
| String | Opcional | Estructura de índice para el campo vectorial. El valor puede ser:
Si se omite, el valor por defecto es Si especificas |
| Objeto | Opcional | Parámetros para usar en la construcción de grafos de Hierarchical Navigable Small Worlds. Si se omite, usa los valores por defecto para los parámetros IMPORTANTE: Esta funcionalidad está disponible como vista previa. La modificación de los valores por defecto podría impactar negativamente a tu índice y queries de MongoDB Search. |
| 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 más alto mejora la recuperación (exactitud de los resultados de búsqueda) porque el grafo está mejor conectado. Sin embargo, esto también aumenta el tiempo de query e indexación al incrementar el número de vecinos a evaluar por nodo del grafo, y requiere más memoria para almacenar los nodos adicionales para cada conexión en el Hierarchical Navigable Small Worlds grafo. |
| Int | Opcional | De forma análoga a Un número mayor proporciona un grafo con conexiones de alta calidad, lo que puede mejorar la calidad de la búsqueda (recall), pero también puede aumentar la latencia de la query. |
Pruebe un vector ejemplo para el 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 por defecto typeSet y también indexa el campo plot_embedding_voyage_3_large como tipo vector con la siguiente configuración:
2048número de dimensionesdotProductfunción de similitudscalarcuantizaciónhnswmétodo de indexación (por defecto)