Processar dados com analisadores
Nesta página
Você pode controlar como o Atlas Search transforma o conteúdo de um campo do string
em termos pesquisáveis utilizando analisadores. Analisadores são políticas que combinam um tokenizador, que extrai tokens do texto, com filtros definidos por você. O Atlas Search aplica seus filtros aos tokens para criar termos indexáveis que corrigem diferenças de pontuação, maiúsculas, palavras de preenchimento e muito mais.
Você pode especificar analyzers em sua definição de índice para o Atlas Search usar ao criar um índice ou pesquisar em seu banco de dados. Você também pode especificar analisadores alternativos (multi) para usar ao indexar campos individuais ou definir seus próprios analisadores personalizados.
Sintaxe
As seguintes guias mostram a sintaxe das opções do analisador que você pode configurar em sua definição de índice:
Você pode especificar um analisador de índice para o Atlas Search aplicar aos campos de string ao criar um índice usando a opção analyzer
em sua definição de índice do Atlas Search .
O Atlas Search aplica o analisador de nível superior a todos os campos na definição do índice, a menos que você especifique um analisador diferente para um campo dentro da definição mappings.fields
para o seu campo.
Se você omitir a opção analyzer
, o Atlas Search padronizará para utilizar o Analisador Padrão.
1 { 2 "analyzer": "<analyzer-for-index>", 3 "mappings": { 4 "fields": { 5 "<string-field-name>": { 6 "type": "string", 7 "analyzer": "<analyzer-for-field>" 8 } 9 } 10 } 11 }
Você pode especificar um analisador de pesquisa para o Atlas Search para aplicar ao texto de query utilizando a opção searchAnalyzer
em sua definição de índice do Atlas Search .
Se você omitir a opção searchAnalyzer
, o Atlas Search assumirá como padrão o analisador especificado para a opção analyzer
. Se você omitir ambas as opções, o padrão do Atlas Search é usar o analisador padrão.
1 { 2 "searchAnalyzer": "<analyzer-for-query>", 3 "mappings": { 4 "dynamic": <boolean>, 5 "fields": { <field-definition> } 6 } 7 }
Você pode especificar um analisador alternativo para o Atlas Search aplicar aos campos de string ao criar um índice usando a opção multi
em sua definição de índice do Atlas Search .
Para usar o analisador alternativo em uma query do Atlas Search, você deve especificar o nome do analisador alternativo no campo multi
do caminho da querydo operador de query.
Para saber mais, consulte Multianalisador.
1 { 2 "mappings": { 3 "fields": { 4 "<string-field-name>": { 5 "type": "string", 6 "analyzer": "<default-analyzer-for-field>", 7 "multi": { 8 "<alternate-analyzer-name>": { 9 "type": "string", 10 "analyzer": "<alternate-analyzer-for-field>" 11 } 12 } 13 } 14 } 15 } 16 }
Você pode definir um ou mais analisadores personalizados para transformar, filtrar e agrupar sequências de caracteres usando a opção analyzers
no índice do Atlas Search .
Para usar um analisador personalizado que você define, especifique seu valor de name
na opção analyzer
, searchAnalyzer
ou multi.analyzer
de sua definição de índice.
Para saber mais, consulte Analisadores personalizados.
1 { 2 "mappings": { 3 "dynamic": <boolean>, 4 "fields": { <field-definition> } 5 }, 6 "analyzers": [ 7 { 8 "name": "<custom-analyzer-name>", 9 "tokenizer": { 10 "type": "<tokenizer-type>" 11 } 12 } 13 ] 14 }
Veja também: Aprenda Assistindo
Assista a este vídeo para ver como o Atlas Search utiliza analisadores para quebrar documentos em unidades pesquisáveis e construir um índice invertido.
Duração: 8 Minutos
Analisadores
O Atlas Search fornece os seguintes analisadores integrados:
Analisador | Descrição |
---|---|
Utiliza o analisador padrão para todos os índices e queries do Atlas Search. | |
Divide o texto em termos pesquisáveis onde quer que ele encontre um caractere que não seja uma letra. | |
Divide o texto em termos pesquisáveis onde quer que ele encontre um caractere de espaço em branco. | |
Indexa campos de texto como termos únicos. | |
Fornece um conjunto de analisadores de texto específicos do idioma. |
Se você não especificar um analisador em sua definição de índice, o MongoDB usará o analisador padrão.
Normalizadores
Os normalizadores produzem apenas um único token no final da análise. Você pode configurar normalizadores somente na definição de campo do tipo token da Pesquisa do Atlas. O Atlas Search fornece os seguintes normalizadores:
Normalizador | Descrição |
---|---|
| Transforma o texto em campos de string em letras minúsculas e cria um token para toda a string. |
| Não realiza nenhuma transformação, mas ainda cria um único token . |
Saiba mais
Para saber mais sobre analisadores, consulte Analisar analisadores para criar o índice de pesquisa correto para seu aplicativo no MongoDB Developer Center.