O analisador keyword aceita uma string ou array de strings como parâmetro e as indexa como um único termo (token). Somente as correspondências exatas no campo são retornadas. Ele deixa todo o texto em suas letras maiúsculas e minúsculas originais.
Dica
Para correspondência exata, em vez de usar o keyword analisador , você pode indexar o campo como o tipo token MongoDB Search e usar o operador igual para pesquisar o campo.
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 keyword gera para cada string de amostra. É possível ver os tokens que o analisador keyword 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 campo title na coleção sample_mflix.movies utilizando o analisador keyword. Para acompanhar este exemplo, carregue os dados de amostra em seu cluster e use mongosh ou navegue até a página Create a Search
Index na IU 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 a linguagem para definir a linguagem do exemplo nesta página.
A query abaixo procura a frase Class Action no campo title.
O MongoDB Search devolveu o documento porque correspondeu o termo de query Class
Action ao único token Class Action que ele cria para o texto no campo usando o analisador lucene.keyword. Por outro lado, o MongoDB Search não retorna nenhum resultado para a seguinte query:
db.cases.aggregate([ { "$search": { "text": { "query": "action", "path": "title" } } } ])
Muitos documentos na coleção contêm a string action, mas o analisador keyword só corresponde aos documentos em que o termo de pesquisa corresponde exatamente a todo o conteúdo do campo . Para a query anterior, o analisador keyword não retornaria nenhum resultado. No entanto, se você indexar o campo usando o analisador padrão ou o analisador simples, o MongoDB Search retornará vários documentos nos resultados, incluindo o documento com o valor do campo de título Class
Action, porque criaria tokens semelhantes aos seguintes, que seriam em seguida, corresponda ao termo de query:
Analisador | Tokens de saída | Partidas action | Partidas Class Action |
|---|---|---|---|
Tokens do analisador de palavras-chave |
| X | √ |
Tokens de analisador padrão |
| √ | √ |
Tokens de analisador simples |
| √ | √ |