Visão geral
Um analisador do MongoDB 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 da IU do Atlas.
A custom MongoDB Search analyzer is made up of a tokenizer, an optional list of character filters, and an optional list of token filters. When MongoDB Search analyzes text with a custom analyzer, the text passes through the character filters first, then the tokenizer, and then the token filters.
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 aprender mais, consulte Filtros de caracteres. | no |
| objeto | Tokenizer para utilizar para criar tokens. Um analyzer usa um tokenizador para dividir chunks de texto em grupos, ou tokens, para fins de indexação. Para aprender mais, consulte tokenizadores. | sim |
| lista de objetos | Array contendo zero ou mais filtros de token. Um filtro de token executa operações como:
To learn more, see Token Filters for Custom Analyzers. | no |
Modelos integrados de analisador personalizado
The Atlas UI Visual Editor includes the option to choose between the following common-use templates to help you get started with building your custom analyzer:
Analisador de e-mail – use para tokenizar endereços de e-mail com até 200 caracteres com o tokenizador uaxUrlEmail. Por exemplo, você pode aplicar este analisador ao campo
page_updated_by.emailno exemplo de coleção.Números de telefone – use para criar um único token a partir de um número de telefone no formato dos EUA com o tokenizador regexCaptureGroup. Por exemplo, você pode aplicar este analisador ao campo
page_updated_by.phoneno exemplo de coleção.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
messagena Coleção de exemplo.
Você pode usar esses analisadores personalizados integrados ou criar seu próprio analisador personalizado usando o MongoDB Search Visual Editor ou o Editor JSON.
Coleção de exemplos
The Character Filters, Tokenizers, and Token Filters for Custom Analyzers pages contain sample index definitions and query examples for character filters, tokenizers, and token filters. These examples use a sample minutes collection with the following documents:
{ "_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 MongoDB Search configurados no analisador personalizado. |
Tokenizador | tokenizador de pesquisa do MongoDB configurado no analisador personalizado. |
Filtros de token | Filtros de token do MongoDB Search configurados no analisador personalizado. |
Ações | Ícones clicáveis que indicam as ações que você pode executar no analisador customizado.
|