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

Analisador simples

O analisador simple divide o texto em termos pesquisáveis (tokens) onde quer que ele encontre um caractere que não seja uma letra, como espaços em branco, pontuação ou um ou mais dígitos. Converte todo o texto em minúsculas.

Você pode ver os tokens que o analisador simple 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 simple 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 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 simple. 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 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.simple no menu suspenso.

    Analisador de pesquisa

    Selecione lucene.simple no menu suspenso.

    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.simple"
    }
    }
    }
    }
  2. Clique em Next.

  3. Clique em Create Search Index.

A seguinte query pesquisa o termo lion no campo title e limita a saída a cinco resultados.

1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 "query": "lion",
6 "path": "title"
7 }
8 }
9 },
10 {
11 "$limit": 5
12 },
13 {
14 "$project": {
15 "_id": 0,
16 "title": 1
17 }
18 }
19])
[
{ title: 'White Lion' },
{ title: 'The Lion King' },
{ title: 'The Lion King 1 1/2' },
{ title: 'The Lion King 1 1/2' },
{ title: 'Lion's Den' },
]

O Atlas Search retorna esses documentos fazendo o seguinte para o texto no campo title usando o analisador lucene.simple :

  • Converta texto em minúsculas.

  • Crie tokens separados dividindo o texto sempre que houver um caractere que não seja uma letra.

A tabela a seguir mostra os tokens que o Atlas Search cria usando o Simple Analyzer e, por outro lado, o Standard Analyzer e o Whitespace Analyzer para os documentos nos resultados:

Título
Tokens de analisador simples
Tokens de analisador padrão
Tokens do analisador de espaço em branco

White Lion

white, lion

white, lion

White, Lion

The Lion King

the, lion , king

the, lion , king

The, Lion , King

The Lion King 1 1/2

the, lion , king

the, lion, king, 1, 1, 2

The, Lion, King, 1, 1/2

Lion's Den

lion, s , den

lion's, den

Lion's, Den

O Atlas Search retorna o documento Lion's Den nos resultados porque o analisador simple cria um token separado para lion, que corresponde ao termo de query lion. Por outro lado, se você indexar o campo usando o analisador padrão ou o analisador de espaço em branco, o Atlas Search retornará alguns dos documentos nos resultados da query, mas não Lion's Den porque esses analisadores criarão os tokens lion's e Lion's respectivamente, mas não criarão um token para lion.

Voltar

Padrão