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

Analisador padrão

O analisador standard é o padrão para todos os índices e queries do Atlas Search. Divide o texto em termos baseados em limites de palavras, o que o torna neutro em idiomas para a maioria dos casos de uso. Converte todos os termos em minúsculas e remove a pontuação. Ela fornece tokenização baseada em gramática que reconhece endereços de e-mail, acrônimos, caracteres chinês-japonês-coreanos, alfanuméricos e muito mais.

Você pode ver os tokens que o analisador standard cria para uma string estática integrada na interface de usuário do Atlas Visual Editor quando você usa Refine Your Index. A seção Index Configurations exibe o índice e os tokens de pesquisa que o analisador standard cria se você expandir View text analysis of your selected index configuration para ajudá-lo a selecionar o analisador a ser usado em seu índice.

Importante

O Atlas Search não indexará campos de string em que os tokens do analisador excedam 32766 bytes de tamanho. Se estiver usando o analisador de palavras-chave, os campos de string que excederem 32766 bytes não serão indexados.

A seguinte definição de índice de exemplo especifica um índice no campo title na coleção sample_mflix.movies utilizando o analisador standard. Se você carregou a coleção no cluster, poderá criar o índice de exemplo usando o Editor Visual da Interface do Usuário do Atlas ou o Editor JSON. Depois de selecionar seu método de configuração preferencial, selecione o banco de dados e a coleção.

  1. Clique em Refine Your Index para configurar seu índice.

  2. Na seção Field Mappings, clique em Add Field Mapping para abrir a janela Add Field Mapping.

  3. Clique em Customized Configuration.

  4. Selecione title no menu suspenso Field Name.

  5. Clique no menu suspenso Data Type e selecione String se ainda não estiver selecionado.

  6. Expanda o String Properties e faça as seguintes alterações:

    Analisador de índice
    Selecione lucene.standard no menu suspenso se ainda não estiver selecionado.
    Analisador de pesquisa
    Selecione lucene.standard no menu suspenso se ainda não estiver selecionado.
    Opções de índice
    Use o offsets padrão.
    Store
    Use o true padrão.
    Ignorar acima
    Manter a configuração padrão.
    Normas
    Use o include padrão.
  7. Clique em Add.

  8. Clique em Save Changes.

  9. Clique em Create Search Index.

  1. Substitua a definição de índice padrão pela seguinte definição de índice.

    {
    "mappings": {
    "fields": {
    "title": {
    "type": "string",
    "analyzer": "lucene.standard"
    }
    }
    }
    }
  2. Clique em Next.

  3. Clique em Create Search Index.

A query a seguir procura o campo title em busca do termo action e limita a saída a dois resultados.

db.movies.aggregate([
{
"$search": {
"text": {
"query": "action",
"path": "title"
}
}
},
{
"$limit": 2
},
{
"$project": {
"_id": 0,
"title": 1
}
}
])
[
{
title: 'Action Jackson'
},
{
title: 'Class Action'
}
]

O Atlas Search retornou esses documentos porque fez a correspondência entre o termo de query action e o token action para os documentos, que o Atlas Search criou fazendo o seguinte para o texto no campo title usando o analisador lucene.standard:

  • Converta o texto em minúsculas.

  • Divida o texto com base nos limites das palavras e crie tokens separados.

A tabela seguinte mostra os tokens (termos pesquisáveis) que o Atlas Search cria utilizando o Analisador Padrão e, por outro lado, os tokens que o Atlas Search cria para o Analisador de Palavra-chave e o Analisador de Espaço em Branco para os documentos nos resultados:

Título
Tokens de analisador padrão
Tokens do analisador de palavras-chave
Tokens do analisador de espaço em branco
Action Jackson
action, jackson
Action Jackson
Action, Jackson
Class Action
class, action
Class Action
Class, Action

Se você indexar o campo utilizando o:

  • Analisador de palavras-chave, o Atlas Search não corresponderia aos documentos nos resultados do termo de query action porque o analisador de keyword corresponde apenas a documentos nos quais o termo de pesquisa corresponde exatamente a todo o conteúdo do campo (Action Jackson e Class Action) exatamente.

  • Whitespace Analyzer, o Atlas Search não corresponderia aos documentos nos resultados para o termo de consulta action porque o analisador whitespace tokeniza o valor do campo title em seu caso original (Action) e o action tem o whitespace em minúsculas, que não corresponde ao token do analisador .

Voltar

1: Processar dados com analisadores