Analisadores personalizados
Visão geral
Um analyzer do Atlas Search prepara um conjunto de documentos a ser indexado, realizando uma série de operações para transformar, filtrar e agrupar sequências de caracteres. Você pode definir um analisador personalizado para atender suas necessidades de indexação específicas a partir da interface de usuário do Atlas.
Um analisador personalizado do Atlas Search é composto por um tokenizador, uma lista opcional de filtros de caracteres e uma lista opcional de filtros de token. Quando o Atlas Search analisa o texto com um analisador personalizado, o texto passa primeiro pelos filtros de caracteres, depois pelo tokenizador e depois pelos filtros de token.
Sintaxe
Um analisador personalizado tem a seguinte sintaxe:
"analyzers": [ { "name": "<name>", "charFilters": [ <list-of-character-filters> ], "tokenizer": { "type": "<tokenizer-type>" }, "tokenFilters": [ <list-of-token-filters> ] } ]
Atributos
Um analisador personalizado tem os seguintes atributos:
Atributo | Tipo | Descrição | Obrigatório? |
---|---|---|---|
| string | Nome do analisador personalizado. Os nomes devem ser únicos dentro de um índice e não podem começar com nenhuma das seguintes strings:
| sim |
| lista de objetos | Array contendo zero ou mais filtros de caracteres. Os filtros de caracteres examinam o texto de um caractere de cada vez e executam operações de filtragem. Para saber mais, consulte Filtros de caracteres. | no |
| objeto | Tokenizer para utilizar para criar tokens. Um analisador usa um tokenizador para divisão chunks de texto em grupos, ou tokens, para fins de indexação. Para saber mais, consulte Tokenizadores. | sim |
| lista de objetos | Array contendo zero ou mais filtros de token. Um filtro de token executa operações como:
Para saber mais, consulte Filtros de token. | no |
Modelos de analisadores personalizados integrados
A UI do Atlas Visual Editor inclui a opção de escolher entre os seguintes modelos de uso comum para ajudar você a começar a criar seu analisador personalizado:
Analisador de e-mail - Use-o para tokenizar endereços de e-mail com até 200 caracteres usando o tokenizador uaxUrlEmail. Por exemplo, você pode aplicar este analisador no campo
page_updated_by.email
na Coleção de Exemplo.Números de telefone - Use para criar um único token a partir de um número de telefone formatado nos EUA usando o tokenizador regexCaptureGroup. Por exemplo, você pode aplicar este analisador no campo
page_updated_by.phone
na Coleção de Exemplo.IDs separados por Dashlane - Use para criar tokens a partir de texto delimitado por hífen usando o tokenizador regexSplit. Por exemplo, você pode aplicar este analisador no campo
message
na Coleção de Exemplo.
Você pode usar esses analisadores personalizados internos ou criar seu próprio analisador personalizado usando o Atlas Search Visual Editor ou Editor JSON.
Coleção de exemplos
As páginas Filtros de caracteres, tokenizadores e filtros de token contêm exemplos de index definitions e exemplos de query para filtros de caracteres, tokenizadores e filtros de token. Esses exemplos usam uma amostra da coleção minutes
com os seguintes 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." } }
Saiba mais
Para saber mais sobre como criar seus próprios analisadores personalizados, consulte as seguintes páginas de referência:
Observação
Ao adicionar um analisador personalizado usando o Visual Editor na IU do Atlas, a IU do Atlas exibe os seguintes detalhes sobre o analisador na seção Custom Analyzers.
Nome | Etiqueta que identifica o analisador customizado. |
Usado em | Campos que usam o analisador customizado. O valor é Nenhum se o analisador customizado não for usado para analisar quaisquer campos. |
Filtros de caracteres | Filtros de caracteres do Atlas Search configurados no analisador customizado. |
Tokenizador | Tokenizer do Atlas Search configurado no analisador personalizado. |
Filtros de token | Filtros de token do Atlas Search configurados no analisador customizado. |
Ações | Ícones clicáveis que indicam as ações que você pode executar no analisador customizado.
|