Un índice de MongoDB Search es una estructura de datos que mapea los documentos del clúster a los términos que se extraen de esos documentos. Los índices de MongoDB Search permiten realizar búsquedas eficientes de texto completo en la base de datos.
Cuando define un índice de búsqueda de MongoDB, puede utilizar Mapeos estáticos o dinámicos para especificar qué campos o tipos de campos desea indexar en su colección. También puede usar analizadores para definir cómo MongoDB Search extrae tokens de búsqueda de...
string Campos o cadenas de consulta. Finalmente, puede aplicar opciones de configuración adicionales en la definición de su índice para mejorar el rendimiento y la precisión de su consulta de búsqueda de MongoDB, incluyendo opciones para almacenar campos de origen en su índice o definir asignaciones de sinónimos.
Para aprender a definir un índice de búsqueda de MongoDB según los requisitos de la query, se debe consultar Gestionar los índices de búsqueda de MongoDB. Una vez que se defina el índice de búsqueda de MongoDB, se puede añadir el índice al clúster con el tutorial Crear un índice de MongoDB Search. Para aprender a ver, editar, actualizar o borrar el índice de búsqueda de MongoDB, se debe consultar Clientes compatibles.
Esta página describe el Opciones de definición y sintaxisJSON para un índice de búsqueda de MongoDB.
Sintaxis
opciones
Campo | Tipo | Necesidad | Descripción |
|---|---|---|---|
| String | Opcional | Especifica el analizador que se aplicará a los campos de string para la indexación. Si establece esto solo a nivel superior y no especifica un analizador para los campos en la definición del índice, MongoDB búsqueda aplica este analizador a todos los campos. Para utilizar un analizador diferente para cada campo, debe especificar un analizador distinto para el campo. Si se omite, el valor predeterminado es analizador estándar. |
| Arreglo de Analizadores Personalizados | Opcional | Especifique los Analizadores Personalizados que se utilizarán en este índice. |
| Objeto | Requerido | Especifica cómo indexar los campos en las diferentes rutas de este índice. |
mappings.dynamic | Booleano o objeto | Opcional | Permite la asignación dinámica de tipos de campos o configura campos individualmente para este índice. El valor debe ser uno de los siguientes:
Si se omite, por defecto es También puedes configurar campos individualmente para anular la configuración por defecto usando IMPORTANTE: MongoDB Search indexa automáticamente todos los tipos de campos que se pueden indexar dinámicamente en un Para aprender sobre los tipos de campos que puedes habilitar para las asignaciones dinámicas, consulta Tipos de campo de MongoDB Search. Para ejemplos de configuraciones de índices, consulta Ejemplos |
mappings.dynamic.typeSet | String | Opcional | Hace referencia al nombre del objeto Mutuamente excluyente con el indicador booleano |
mappings.fields | Objeto | Condicional | Especifica los campos que deseas indexar. Solo es necesario si la asignación dinámica es No puedes indexar campos que contengan el signo de dólar ( Para obtener más información, consulta Definir asignaciones de campo. |
| String | Opcional | Especifica el analizador que se debe aplicar al texto de la query antes de buscar con él. Si se omite, por defecto es el analizador que hayas especificado para la opción |
| entero | Opcional | Especifica el número de subíndices que se deben crear si el recuento de documentos supera los dos mil millones. Los siguientes valores son válidos: Para usar particiones de índice, debe tener nodos de búsqueda implementados en su clúster. |
| Booleano o Definición de fuente almacenada | Opcional | Especifica los campos en los documentos para almacenar en el momento del query utilizando la opción returnedStoredSource. Puedes almacenar campos de todos los tipos de campos de MongoDB Search en MongoDB Search. El valor puede ser uno de los siguientes:
Si se omite, es por defecto Para aprender más, se debe consultar Definición de los campos de origen almacenados en el índice de MongoDB Search. |
| Arreglo de Definición de mapeo de sinónimos | Opcional | Especifique las asignaciones de sinónimos que se utilizarán en su índice. Una definición de índice solo puede tener un mapeo de sinónimos. Para aprender más, se debe consultar Definir asignaciones de sinónimos en el índice de MongoDB Search. |
| Arreglo de objetos | Opcional | Especifica los typeSets que se utilizan en este índice para las asignaciones dinámicas. |
typeSets.[n].name | String | Requerido | Especifica el nombre de la configuración de |
typeSets.[n].types | Arreglo de objetos | Requerido | Especifica los tipos de campo, uno por objeto, para indexar automáticamente usando asignaciones dinámicas. |
typeSets.[n].types.[n].type | String | Requerido | Especifica el tipo de campo para el índice automático. Para aprender más sobre los tipos de campo que puedes configurar para la asignación dinámica, consulta Configurar un |
Solución de problemas de índices
mongot Proceso no instalado o en ejecución
El siguiente error se devuelve si ejecutas queries $search cuando el proceso de búsqueda de MongoDB mongot no está instalado o en ejecución:
MongoError: Remote error from mongot :: caused by :: Error connecting to localhost:28000.
El proceso mongot se instala solo cuando se define el primer índice de MongoDB Search. Si no hay ningún índice de MongoDB Search en el clúster, se debe crear al menos un índice de MongoDB Search para resolver este error.
Obtén más información
Para aprender a definir un índice de MongoDB Search que satisfaga tus necesidades de query de MongoDB Search, consulta Gestionar índices de MongoDB Search.
Para aprender cómo añadir un índice a su clúster, consulte Crear un índice de búsqueda de MongoDB.
Para aprender más sobre las opciones de configuración de índices disponibles, consulta las siguientes páginas de referencia: