Overview
Un analizador de búsqueda de MongoDB prepara un conjunto de documentos para ser indexados realizando una serie de operaciones para transformar, filtrar y agrupar secuencias de caracteres. Puede definir un analizador personalizado para satisfacer sus necesidades específicas de indexación desde la Interfaz de Usuario de Atlas.
Un analizador personalizado de MongoDB Search está compuesto por un tokenizador, una lista opcional de filtros de caracteres y una lista opcional de filtros de tokens. Cuando MongoDB Search analiza texto con un analizador personalizado, el texto pasa primero por los filtros de caracteres, luego por el tokenizador y, por último, por los filtros de tokens.
Sintaxis
Un analizador personalizado tiene la siguiente sintaxis:
"analyzers": [ { "name": "<name>", "charFilters": [ <list-of-character-filters> ], "tokenizer": { "type": "<tokenizer-type>" }, "tokenFilters": [ <list-of-token-filters> ] } ]
Atributos
Un analizador personalizado tiene los siguientes atributos:
Atributo | Tipo | Descripción | ¿Requerido? |
|---|---|---|---|
| string | Nombre del analizador personalizado. Los nombres deben ser únicos dentro de un índice y no pueden comenzar con ninguna de las siguientes cadenas:
| Sí |
| lista de objetos | Arreglo que contiene cero o más filtros de caracteres. Los filtros de caracteres examinan el texto un carácter a la vez y realizan operaciones de filtrado. Para obtener más información, consulta Filtros de caracteres. | no |
| Objeto | Tokenizador que se utilizará para crear tokens. Un analizador utiliza un tokenizador para dividir fragmentos de texto en grupos, o tokens, con fines de indexación. Para obtener más información, consulte tokenizador para analizadores de búsqueda personalizados. | Sí |
| lista de objetos | Arreglo que contiene cero o más filtros de tokens. Un filtro de token realiza operaciones como:
Para obtener más información, consulta Filtros de tokens para analizadores personalizados. | no |
Plantillas integradas de analizadores personalizados
La Interfaz de Usuario de Atlas Visual Editor incluye la opción de elegir entre las siguientes plantillas de uso común para ayudarle a empezar a crear su analizador personalizado:
Email Parser - Use this to tokenize email addresses up to 200 characters using the uaxUrlEmail tokenizer. For example, you can apply this analyzer on the
page_updated_by.emailfield in the Example Collection.Números de teléfono - Utilízalo para crear un token único a partir de un número de teléfono con formato US utilizando el tokenizador regexCaptureGroup. Por ejemplo, puedes aplicar este analizador al campo
page_updated_by.phonede la Colección de ejemplos.Dash-Separated IDs - Use this to create tokens from hyphen-delimited text using the regexSplit tokenizer. For example, you can apply this analyzer on the
messagefield in the Example Collection.
You can use these built-in custom analyzers or create your own custom analyzer using the MongoDB Search Visual Editor or JSON Editor.
Colección de ejemplos
Las páginas Filtros de caracteres, Tokenizador para analizadores de búsqueda personalizados y Filtros de token para analizadores personalizados contienen definiciones de índice de muestra y ejemplos de query para filtros de caracteres, tokenizador y filtros de token. Estos ejemplos utilizan una colección de muestra minutes con los siguientes documentos:
{ "_id": 1, "page_updated_by": { "last_name": "AUERBACH", "first_name": "Siân", "email": "auerbach@example.com", "phone": "(123)-456-7890" }, "title": "The team's weekly meeting", "message": "try to siGn-In", "text": { "en_US": "<head> This page deals with department meetings.</head>", "sv_FI": "Den här sidan behandlar avdelningsmöten", "fr_CA": "Cette page traite des réunions de département" } }
{ "_id": 2, "page_updated_by": { "last_name": "OHRBACH", "first_name": "Noël", "email": "ohrbach@example.com", "phone": "(123) 456 0987" }, "title": "The check-in with sales team", "message": "do not forget to SIGN-IN. See ① for details.", "text" : { "en_US": "The head of the sales department spoke first.", "fa_IR": "ابتدا رئیس بخش فروش صحبت کرد", "sv_FI": "Först talade chefen för försäljningsavdelningen" } }
{ "_id": 3, "page_updated_by": { "last_name": "LEWINSKY", "first_name": "Brièle", "email": "lewinsky@example.com", "phone": "(123).456.9870" }, "title": "The regular board meeting", "message": "try to sign-in", "text" : { "en_US": "<body>We'll head out to the conference room by noon.</body>" } }
{ "_id": 4, "page_updated_by": { "last_name": "LEVINSKI", "first_name": "François", "email": "levinski@example.com", "phone": "123-456-8907" }, "title": "The daily huddle on tHe StandUpApp2", "message": "write down your signature or phone №", "text" : { "en_US": "<body>This page has been updated with the items on the agenda.</body>" , "es_MX": "La página ha sido actualizada con los puntos de la agenda.", "pl_PL": "Strona została zaktualizowana o punkty porządku obrad." } }
Obtén más información
Para obtener más información sobre cómo crear tus propios analizadores personalizados, consulta las siguientes páginas de referencia:
Nota
Cuando se añade un analizador personalizado utilizando el Visual Editor en la Interfaz de Usuario de Atlas, la Interfaz de Usuario de Atlas muestra los siguientes detalles sobre el analizador en la sección Custom Analyzers.
Nombre | Etiqueta que identifica el analizador personalizado. |
Usado en | Campos que utilizan el analizador personalizado. El valor es Ninguno si el analizador personalizado no se utiliza para analizar ningún campo. |
Filtros de Caracteres | MongoDB Search filtros de caracteres configurados en el analizador personalizado. |
tokenizador | Tokenizador de MongoDB Search configurado en el analizador personalizado. |
Filtros de Token | Filtros de tokens de MongoDB Search configurados en el analizador personalizado. |
Acciones | Íconos clickeables que indican las acciones que puedes realizar en el analizador personalizado.
|