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.
Exemplo
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.
Clique em Refine Your Index para configurar seu índice.
Na seção Field Mappings, clique em Add Field para abrir a janela Add Field Mapping.
Clique em Customized Configuration.
Selecione
title
no menu suspenso Field Name.Clique no menu suspenso Data Type e selecione String se ainda não estiver selecionado.
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.Clique em Add.
Clique em Save Changes.
Clique em Create Search Index.
Substitua a definição de índice padrão pela seguinte definição de índice.
{ "mappings": { "fields": { "title": { "type": "string", "analyzer": "lucene.simple" } } } } Clique em Next.
Clique em Create Search Index.
A seguinte query pesquisa o termo lion
no campo title
e limita a saída a cinco resultados.
1 db.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 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
.