Overview
Un analizador de búsqueda de MongoDB prepara un conjunto de documentos para indexarlos mediante una serie de operaciones para transformar, filtrar y agrupar secuencias de caracteres. Puede definir un analizador personalizado que se adapte a sus necesidades específicas de indexación desde la interfaz de usuario de Atlas.
Un analizador de búsqueda MongoDB personalizado 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 finalmente 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 | ¿Obligatorio? |
|---|---|---|---|
| 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 | Matriz 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 | Matriz que contiene cero o más filtros de token. Un filtro de token realiza operaciones como:
Para obtener más información, consulte Filtros de tokens. | no |
Plantillas de analizador personalizadas integradas
La interfaz de usuario de Atlas Visual Editor incluye la opción de elegir entre las siguientes plantillas de uso común para ayudarlo a comenzar a construir su analizador personalizado:
Analizador de correo electrónico: Úselo para tokenizar direcciones de correo electrónico de hasta 200 caracteres mediante el tokenizador uaxUrlEmail. Por ejemplo, puede aplicar este analizador al
page_updated_by.emailcampo de 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.
Puede utilizar estos analizadores personalizados integrados o crear su propio analizador personalizado utilizando MongoDB Search Visual Editor o EditorJSON.
Colección de ejemplos
Las páginas Filtros de caracteres, Tokenizadores y Filtros de tokens contienen ejemplos de definiciones de índices y consultas para filtros de caracteres, tokenizadores y filtros de tokens. Estos ejemplos utilizan una colección de ejemplo 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 sus propios analizadores personalizados, consulte las siguientes páginas de referencia:
Nota
Cuando agrega un analizador personalizado usando Visual Editor en la IU de Atlas, la IU 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 personajes | Filtros de caracteres de búsqueda de MongoDB configurados en el analizador personalizado. |
Tokenizador | Tokenizador de búsqueda de MongoDB 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.
|