O analisador whitespace
divide o texto em termos pesquisáveis (tokens) onde quer que encontre um caractere de espaço em branco. Todo o texto é deixado em sua caixa original.
Se você selecionar Refine Your Index, a UI 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 UI do Atlas exibirá o índice e os tokens de pesquisa que o analisador whitespace
gera para cada string de amostra. É possível ver os tokens que o analisador whitespace
cria para um documento de amostra integrado e uma cadeia de query ao criar ou editar um índice na UI do Atlas Visual Editor.
Importante
O MongoDB 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.
Exemplo
A seguinte definição de índice de exemplo especifica um índice no title
campo na coleçãosample_mflix.movies utilizando o whitespace
analisador. Para acompanhar esse exemplo, carregue os dados de amostra em seu cluster e use mongosh
ou navegue até a Create a Search
Index página na UI do Atlas seguindo as etapas do tutorial Criar um índice de pesquisa do MongoDB .
Em seguida, usando a movies
collection como sua fonte de dados, siga o procedimento de exemplo para criar um índice a partir de ou da UI do mongosh
Atlas Visual Editor JSON editorou.
➤ Use o menu suspenso Selecione seu idioma para definir a interface para o exemplo nesta página.
Clique em Refine Your Index para configurar seu índice.
Na seção Index Configurations, alterne Dynamic Mapping para off.
Na seção Field Mappings, clique em Add Field para abrir a janela Add Field Mapping.
Selecione
title
no menu suspenso Field Name.Clique em Customized Configuration.
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.whitespace
no menu suspenso.Analisador de pesquisa
Selecione
lucene.whitespace
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.whitespace", "searchAnalyzer": "lucene.whitespace" } } } } Clique em Next.
Clique em Create Search Index.
1 db.movies.createSearchIndex( 2 "default", 3 { 4 "mappings": { 5 "fields": { 6 "title": { 7 "type": "string", 8 "analyzer": "lucene.whitespace", 9 "searchAnalyzer": "lucene.whitespace" 10 } 11 } 12 } 13 } 14 )
A seguinte consulta procura o termo Lion's
no campo title
.
Clique no botão Query para o seu índice.
Clique em Edit Query para editar a query.
Clique em na barra de query e selecione o banco de dados e a coleção.
Substitua a query padrão pelo seguinte e clique em Find:
[ { "$search": { "text": { "query": "Lion's", "path": "title" } } } ] SCORE: 3.7370920181274414 _id: "573a13ebf29313caabdcfc8d" awards: Object cast: Array (4) countries: Array (1) directors: Array (1) fullplot: "A documentary on young actress, Marianna Palka, as she confronts her r…" genres: Array (3) imdb: Object languages: Array (1) lastupdated: "2015-09-03 00:37:45.227000000" num_mflix_comments: 0 plot: "A documentary on young actress, Marianna Palka, as she confronts her r…" poster: "https://m.media-amazon.com/images/M/MV5BMTgzMTc2OTg2N15BMl5BanBnXkFtZT…" released: 2014-01-18T00:00:00.000+00:00 runtime: 15 title: "The Lion's Mouth Opens" type: "movie" writers: Array (1) year: 2014
db.movies.aggregate([ { "$search": { "text": { "query": "Lion's", "path": "title" } } }, { "$project": { "_id": 0, "title": 1 } } ])
[ { title: "The Lion's Mouth Opens" } ]
O MongoDB Search retorna esses documentos fazendo o seguinte para o texto no campo title
usando o analisador lucene.whitespace
:
Mantenha as letras maiúsculas e minúsculas originais do texto.
Divida o texto em tokens onde quer que ele encontre um caractere de espaço em branco.
A tabela a seguir mostra os tokens (termos pesquisáveis) que o MongoDB Search cria usando o Whitespace Analyzer e, por outro lado, o Simple Analyzer e o analisador de palavras-chave para os documentos nos resultados:
Título | Tokens do analisador de espaço em branco | Tokens de analisador simples | Tokens do analisador de palavras-chave |
---|---|---|---|
|
|
|
|
O índice que utiliza o analisador whitespace
é sensível a maiúsculas e minúsculas. Portanto, o MongoDB Search é capaz de corresponder o termo de query Lion's
ao token Lion's
criado pelo analisador whitespace
.