Você pode usar o objeto multi em sua definição de índice para especificar analisadores alternativos com os quais também indexar o campo. Ao indexar um campo com analisadores alternativos além do analisador padrão, você pode pesquisar a coleção com o analisador padrão ou alternativo. Esta página demonstra como especificar analisadores alternativos na sua definição de índice usando multi.
Limitações do multianalisador
A opção de caminho do multi está disponível somente para campos do tipo string.
A Pesquisa do MongoDB não suporta o aninhamento de múltiplas camadas de objetos multi.
Exemplos
Os exemplos a seguir demonstram definições de índice nos campos da coleção sample_mflix.movies. Se você carregou a coleção no seu cluster, poderá criar os índices de exemplo usando o Editor Visual ou o Editor JSON na IU do Atlas ou usando mongosh.
Exemplo de Campo Único
O exemplo de definição de índice a seguir especifica um índice no campo title usando o analisador standard. A definição do índice também especifica o analisador lucene.french como um analisador alternativo para o campo title, com o nome frenchAnalyzer.
A query a seguir usa o analisador alternativo, chamado frenchAnalyzer, para pesquisar a string liberte.
O documento nos resultados é uma correspondência porque o frenchAnalyzer reduz a string indexada è Nous la Libertè e o termo de query liberte para a palavra base libert. O MongoDB Search não retornará este documento para uma pesquisa com o analisador standard porque ele não remove os diacríticos. Cada analisador gera os seguintes tokens (termos pesquisáveis) para o índice e query:
Analisador | Index Tokens | Tokens de consulta |
|---|---|---|
Analisador padrão |
|
|
Analisador Francês |
|
|
Exemplo de Múltiplos Campos
A definição de exemplo de índice a seguir especifica um índice nos campos title e plot usando o analisador standard. A definição do índice também especifica lucene.french como um analisador alternativo para os campos title e plot.
A seguinte query busca correspondências para a string revolution nos campos title e plot usando o analisador alternativo chamado frenchAnalyzer.
Os documentos nos resultados contêm o termo de consulta em ambos os campos title e plot. Cada analisador cria os seguintes tokens (termos pesquisáveis) para o campo title de cada documento nos resultados:
Ano | Analisador | Index Tokens | Tokens de consulta |
2012 | Analisador padrão |
|
|
1985 | Analisador padrão |
|
|
2014 | Analisador padrão |
|
|
1970 | Analisador padrão |
|
|
1989 | Analisador padrão |
|
|
Para o quinto documento nos resultados, o frenchAnalyzer removeu os diacríticos no campo title para fazer a correspondência do documento com o termo de consulta.