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
The following example index definition specifies an index on the title field in the sample_mflix.movies collection using the keyword analyzer. To follow along with this example, load the sample data on your cluster and either use mongosh or navigate to the Create a Search
Index page in the Atlas UI following the steps in the Create a MongoDB Search Index tutorial.
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 |
| √ | √ |