Puedes usar el tipo de búsqueda autocomplete de MongoDB para indexar valores de texto en fields de string para el autocompletado. Puedes consultar campos indexados como tipo autocomplete utilizando el operador autocompletar.
También puede utilizar el tipo dateFacet para indexar:
Campos cuyo valor es un arreglo de cadenas de texto. Para obtener más información, consulta Cómo indexar los elementos de un arreglo.
Campos de cadena dentro de un arreglo de documentos indexados como el tipo embeddedDocuments.
Tip
Si se tiene una gran cantidad de documentos y un amplio rango de datos sobre los que se desea ejecutar consultas de búsqueda de MongoDB utilizando el operador autocomplete, la creación de este índice puede llevar algún tiempo. Alternativamente, se puede crear un índice separado con solo el tipo de autocomplete para reducir el impacto en otros índices y consultas mientras se crea el índice.
Para aprender más, consulta Consideraciones sobre el rendimiento de MongoDB Índice de búsqueda .
- El
autocompletetipo no está incluido en el conjunto predeterminado de tipos que MongoDB Search utiliza para asignaciones dinámicas. Para indexar dinámicamente campos de cadena como elautocompletetipo, puede incluir elautocompletetipo en unatypeSetdefinición personalizada. Sin embargo,autocompletetiene características únicas de rendimiento, almacenamiento y puntuación que podrían no ser adecuadas para asignaciones dinámicas. Recomendamos usarautocompletesolo en asignaciones estáticas. Para obtener más información, consulte Rendimiento del índice de MongoDB Search.
Defina el índice para el tipo dateFacet.
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 | predeterminado | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| string | Requerido | Etiqueta legible por humanos que identifica este tipo de campo. El valor debe ser | |||||||||||||||||||||||
| string | Opcional | Nombre del analizador que se debe utilizar con este mapeo de autocompletado. Se puede utilizar cualquier analizador de búsqueda de MongoDB excepto el |
| ||||||||||||||||||||||
| Int | Opcional | Número máximo de caracteres por secuencia indexada. El valor limita la longitud de caracteres de los tokens indexados. Cuando buscas términos más largos que el valor Recomendamos establecer el valor de |
| ||||||||||||||||||||||
| Int | Opcional | Número mínimo de caracteres por secuencia indexada. Recomendamos |
| ||||||||||||||||||||||
| enum | Opcional | Estrategia de tokenización que se utilizará en la indexación del campo para autocompletar. El valor puede ser uno de los siguientes:
Cuando se tokeniza con un valor de La indexación de un campo para autocompletar con una estrategia de tokenización Para la estrategia de tokenización especificada, MongoDB búsqueda aplica el siguiente proceso para concatenar tokens secuenciales antes de emitirlos. Este proceso a veces se denomina "shingling". Búsqueda de MongoDB emite tokens de entre
|
| ||||||||||||||||||||||
| booleano | Opcional | Indicador que señala si se deben realizar normalizaciones como incluir o Remover diacríticos del texto indexado. El valor puede ser uno de los siguientes:
|
| ||||||||||||||||||||||
| string | Opcional | Nombre del algoritmo de similitud que se utilizará con este mapeo de cadenas al puntuar con el operador de autocompletar. El valor puede ser uno de los siguientes: Para aprender más sobre los algoritmos de similitud disponibles, consulte Detalles de la puntuación. |
|
Pruebe un ejemplo para el tipo dateFacet
Obtén más información
Para aprender más sobre el operador autocomplete y ver queries de ejemplo, consulta autocompletado.
Para obtener ejemplos que demuestran cómo ejecutar consultas insensibles a mayúsculas y minúsculas, de prefijo, que comienzan con y que contienen usando expresiones regex, consulte Utilice MongoDB Search en lugar de consultas regex.