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 se compone de 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 después 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, consulte Filtros de caracteres. | no |
| Objeto | Tokenizador a 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 Tokenizadores. | 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, consulte Filtros de tokens. | 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 ayudarte a comenzar con la creación de tu analizador personalizado:
Tokenizador de emails: utiliza esto para tokenizar direcciones de email de hasta 200 caracteres usando el tokenizador uaxUrlEmail. Por ejemplo, puedes aplicar este analizador en el campo
page_updated_by.emailen el Colección de ejemplos.Números de teléfono: Use esta opción para crear un token único a partir de un número de teléfono con formato estadounidense mediante el tokenizador regexCaptureGroup. Por ejemplo, puede aplicar este analizador al
page_updated_by.phonecampo de la colección de ejemplos.ID separados por guiones: Úselo para crear tokens a partir de texto delimitado por guiones mediante el tokenizador regexSplit. Por ejemplo, puede aplicar este analizador al
messagecampo de la colección de ejemplos.
Puedes usar estas funcionalidades incorporadas analizadores personalizados o crear tu propio analizador personalizado usando el MongoDB Search Visual Editor o JSON Editor.
Colección de ejemplos
Las páginas de Filtros de Caracteres, Tokenizadores, y Filtros de Tokens contienen definiciones de índices de muestras y ejemplos de queries para filtros de caracteres, tokenizadores y filtros de tokens. 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 no se utiliza el analizador personalizado para analizar ningún campo. |
Filtros de Caracteres | Filtros de caracteres de búsqueda de MongoDB configurados en el analizador personalizado. |
tokenizador | Tokenizador de MongoDB Search configurado en el analizador personalizado. |
Filtros de Token | Filtros de token de búsqueda de MongoDB configurados en el analizador personalizado. |
Acciones | Íconos clickeables que indican las acciones que puedes realizar en el analizador personalizado.
|