Menu Docs
Página inicial do Docs
/
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 gera para um documento integrado de amostra e uma string da query quando você cria ou edita um índice na IU do Atlas Visual Editor. Se você selecionar Refine Your Index, a IU do Atlas exibirá uma seção intitulada View text analysis of your selected index configuration dentro da seção Index Configurations. Se você expandir esta seção, a IU do Atlas exibirá o índice e os tokens de pesquisa que o analisador standard gera para cada string de amostra.

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 palavra-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. Para seguir este exemplo, carregue os dados de amostra no seu cluster e navegue até a página Create a Search Index na IU do Atlas, seguindo as etapas do tutorial Criar um Índice de Pesquisa do Atlas. Em seguida, selecione a coleção minutes como sua fonte de dados e siga o procedimento de exemplo para criar um índice no Visual Editor ou no JSON editor.

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

  2. Na seção Index Configurations, alterne Dynamic Mapping para off.

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

  4. Clique em Customized Configuration.

  5. Selecione title no menu suspenso Field Name.

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

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

  8. Clique em Add.

  9. Clique em Save Changes.

  10. 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

Analisadores

Nesta página

OSZAR »