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.
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. Consulte Uso do para mais informações. | no |
| objeto | Tokenizer para utilizar para criar tokens. Consulte Uso para obter mais informações. | sim |
| lista de objetos | Array contendo zero ou mais filtros de token. Consulte Uso para obter mais informações. | no |
Uso
Para utilizar um analisador personalizado ao indexar uma coleção, inclua o seguinte em seu campo definição de índice analyzers
:
Opcional. Especifique um ou mais filtros de caracteres. Os filtros de caracteres examinam o texto de um caractere de cada vez e executam operações de filtragem.
Obrigatório. Especifique o tokenizador. Um analyzer usa um tokenizador para dividir chunks de texto em grupos, ou tokens, para fins de indexação. Por exemplo, o tokenizador de espaço em branco divide os campos de texto em palavras individuais com base em onde o espaço em branco ocorre.
Opcional. Especifique um ou mais filtros de token. Após a etapa de tokenização, os tokens resultantes podem passar por um ou mais filtros de token. Um filtro de token executa operações como:
Stemming, que reduz palavras relacionadas, como "falar", "falou" e "fala" à sua palavra raiz "falar".
Redação, remoção de informações confidenciais de documentos públicos.
Observação
O texto passa primeiro por filtros de caracteres, depois por um tokenizador e, em seguida, pelos filtros de token.
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." } }
Exemplo de analisadores personalizados
O Atlas Search Visual Editor inclui os seguintes analisadores personalizados incorporados com base em um modelo de uso comum para ajudá-lo a começar:
Analisador de e-mail - Use-o para tokenizar endereços de e-mail com até 200 caracteres. Por exemplo, você pode aplicar este analisador no
page_updated_by.email
campo 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. 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. 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 Editor Visual do Atlas Search ou EditorJSON. Para saber mais sobre como criar seus próprios analisadores personalizados, consulte as seguintes páginas:
Observação
Quando você adiciona um analisador personalizado usando o Visual Editor na interface do usuário do Atlas, a interface do usuário 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.
|