Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Procese datos con analizadores

Se puede controlar cómo MongoDB Search convierte el contenido de un campo string en términos buscables mediante analizadores. Los analizadores son políticas que combinan un tokenizador, que extrae tokens del texto, con filtros que uno define. MongoDB Search aplica los filtros elegidos a los tokens para crear términos indexables que corrigen las diferencias de puntuación, mayúsculas, palabras de relleno y mucho más.

Se pueden especificar analizadores en la definición de índice elegida para que MongoDB Search los utilice al crear un índice o buscar en la base de datos. También se pueden especificar analizadores alternativos (múltiples) para usar en la indexación de campos individuales o definir los analizadores personalizados que se decidan.

Las siguientes pestañas muestran la sintaxis de las opciones del analizador que puedes configurar en tu definición de índice:

Puede especificar un analizador de índice para MongoDB Search que se aplique a los campos de string al crear un índice con la opción analyzer en su definición de índice de MongoDB Search.

MongoDB Search aplica el analizador de nivel superior a todos los campos de la definición de índice, a menos que se especifique un analizador diferente para un campo dentro de la definición mappings.fields para su campo.

Si se omite la opción analyzer, por defecto, MongoDB Search utilizará el analizador estándar.

1{
2 "analyzer": "<analyzer-for-index>",
3 "mappings": {
4 "fields": {
5 "<string-field-name>": {
6 "type": "string",
7 "analyzer": "<analyzer-for-field>"
8 }
9 }
10 }
11}

Puede especificar un analizador de búsquedas para que MongoDB Search lo aplique al texto de la query con la opción searchAnalyzer en la definición del índice de MongoDB Search.

Si se omite la opción searchAnalyzer, por defecto, MongoDB Search utilizará el analizador que se especifique para la opción analyzer. Si se omiten ambas opciones, MongoDB Search usará por defecto el analizador estándar.

1{
2 "searchAnalyzer": "<analyzer-for-query>",
3 "mappings": {
4 "dynamic": <boolean>,
5 "fields": { <field-definition> }
6 }
7}

Puede especificar un analizador alternativo para que MongoDB Search lo aplique a los campos de string al crear un índice con la opción multi en su definición de índice de MongoDB Search.

Para usar el analizador alternativo en una consulta de MongoDB Search, se debe especificar el nombre del analizador alternativo en el campo multi de la ruta del query del operador del query.

Para obtener más información, consulte Multianalizador.

1{
2 "mappings": {
3 "fields": {
4 "<string-field-name>": {
5 "type": "string",
6 "analyzer": "<default-analyzer-for-field>",
7 "multi": {
8 "<alternate-analyzer-name>": {
9 "type": "string",
10 "analyzer": "<alternate-analyzer-for-field>"
11 }
12 }
13 }
14 }
15 }
16}

Puede definir uno o más analizadores personalizados para transformar, filtrar y agrupar secuencias de caracteres con la opción analyzers en el índice de MongoDB Search.

Para utilizar un analizador personalizado que definas, especifica tu valor name en la opción analyzer, searchAnalyzer o multi.analyzer de tu definición de índice.

Para obtener más información, consulta Analizadores personalizados.

1{
2 "mappings": {
3 "dynamic": <boolean>,
4 "fields": { <field-definition> }
5 },
6 "analyzers": [
7 {
8 "name": "<custom-analyzer-name>",
9 "tokenizer": {
10 "type": "<tokenizer-type>"
11 }
12 }
13 ]
14}

Tip

Ver: Aprende observando

En este video, puede ver cómo MongoDB Search utiliza los analizadores para dividir los documentos en unidades de búsqueda y compilar un índice invertido.

Duración: 8 minutos

MongoDB Search proporciona los siguientes analizadores integrados:

Analizador
Descripción

Utiliza el analizador por defecto para todos los índices y queries de MongoDB Search.

Divide el texto en términos buscables siempre que encuentre un carácter que no sea una letra.

Divide el texto en términos que se pueden buscar siempre que encuentres un espacio en blanco.

Indexa los campos de texto como términos individuales.

Proporciona un conjunto de analizadores de texto específicos para cada lenguaje.

Si no especificas un analizador en la definición de tu índice, MongoDB usa el analizador estándar por defecto.

Los normalizadores producen un solo token al final del análisis. Puede configurar normalizadores solo en la definición de campo para el tipo de token de MongoDB Search. MongoDB Search proporciona los siguientes normalizadores:

Normalizador
Descripción

lowercase

Transforma el texto de los campos de string en minúsculas y crea un único token para toda la string.

none

No realiza ninguna transformación, pero aun así crea un único token.