Menu Docs
Página inicial do Docs
/
Atlas
/ / / /

Analisadores personalizados

A MongoDB Search analyzer prepares a set of documents to be indexed by performing a series of operations to transform, filter, and group sequences of characters. You can define a custom analyzer to suit your specific indexing needs from the Atlas UI.

Um analisador de pesquisa personalizado do MongoDB é composto por um tokenizador, uma lista opcional de filtros de caracteres e uma lista opcional de filtros de token. Quando o MongoDB Search analisa o texto com um analisador personalizado, o texto passa primeiro pelos filtros de caracteres, depois pelo tokenizador e, em seguida, pelos filtros de token.

Um analisador personalizado tem a seguinte sintaxe:

Sintaxe
"analyzers": [
{
"name": "<name>",
"charFilters": [ <list-of-character-filters> ],
"tokenizer": {
"type": "<tokenizer-type>"
},
"tokenFilters": [ <list-of-token-filters> ]
}
]

Um analisador personalizado tem os seguintes atributos:

Atributo
Tipo
Descrição
Obrigatório?

name

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:

  • lucene.

  • builtin.

  • mongodb.

sim

charFilters

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

tokenizer

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

tokenFilters

lista de objetos

Array contendo zero 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, que remove informações confidenciais de documentos públicos.

Para aprender mais, consulte Filtros de token.

no

A IU 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 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.email no 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.phone no 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 message na Coleção de exemplo.

Você pode usar esses analisadores personalizados internos ou criar seu próprio analisador personalizado usando o MongoDB Search Visual Editor ouo Editor JSON .

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."
}
}

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.

  • Clique em para editar o analisador customizado.

  • Clique para excluir o analisador customizado.

Voltar

Multi

Nesta página