Menu Docs

Página inicial do DocsIniciar e gerenciar o MongoDBMongoDB Atlas

Como indexar campos para preenchimento automático

Nesta página

  • Definir o índice para o tipo autocomplete
  • Configurar propriedades do campo autocomplete
  • Experimente um exemplo para o tipo de autocomplete

Você pode utilizar o tipo de Atlas Search autocomplete para indexar valores de texto em campos de string para preenchimento automático. Você pode configurar um tipo autocomplete para satisfazer uma variedade de casos de uso. Para saber mais sobre as opções de configuração disponíveis para o tipo autocomplete , como estratégia de tokenização e dobramento diacrítico, consulte Configurar propriedades de campo autocomplete . Você só pode consultar campos indexados como tipo autocomplete usando o operador de preenchimento automático .

Você também pode utilizar o tipo autocomplete para indexar:

Dica

Se você tiver um grande número de documentos e uma variedade de dados para os quais deseja executar queries do Atlas Search usando o operador de preenchimento automático, pode demorar algum tempo para criar esse índice. Alternativamente, você pode criar um índice separado com somente o tipo autocomplete para reduzir o impacto sobre outros índices e queries enquanto o índice é criado.

Para saber mais, consulte Considerações sobre o desempenho do índice do Atlas Search.

O Atlas Search não indexa dinamicamente campos de índice do tipo autocomplete. Você deve utilizar mapeamentos estáticos para indexar campos do autocomplete. Você pode usar o Visual Editor ou o JSON Editor na UI do Atlas para indexar campos do tipo autocomplete.

Para definir o índice para o tipo autocomplete , escolha seu método de configuração preferido na UI do Atlas e então selecione o banco de dados e collection.

O tipo autocomplete do Atlas Search usa os seguintes parâmetros:

Opção
Tipo
necessidade
Descrição
default
type
string
necessário
Etiqueta legível para humanos que identifica este tipo de campo. O valor deve ser string.
analyzer
string
opcional

Nome do analyzer para utilizar com este mapeamento com preenchimento automático. Você pode usar qualquer analyzer do Atlas Search, exceto o analyzer de idioma lucene.kuromoji e os seguintes tokenizadores e filtros de tokens do analisador customizado:

lucene.standard
maxGrams
int
opcional
Número máximo de caracteres por sequência indexada. O valor limita o comprimento de caracteres de tokens indexados. Ao pesquisar termos maiores que o valor maxGrams, o Atlas Search trunca os tokens para o comprimento maxGrams.
15
minGrams
int
opcional
Número mínimo de caracteres por sequência indexada. Recomendamos 4 para o valor mínimo. Um valor menor que 4 pode afetar o desempenho porque o tamanho do índice pode ficar muito grande. Recomendamos o valor padrão de 2 apenas para edgeGram.
2
tokenization
enum
opcional

Estratégia de tokenização para indexar o campo para o preenchimento automático. O valor pode ser um dos seguintes:

  • edgeGram - criar tokens indexáveis, chamados de grams, a partir de sequências de caracteres de comprimento variável a partir do lado esquerdo das palavras delimitadas pelo analisador usado com este mapeamento de preenchimento automático.

  • rightEdgeGram - criar tokens indexáveis, chamados de grams, a partir de sequências de caracteres com comprimentos variáveis começando no lado direito das palavras conforme delimitado pelo analyzer usado com este mapeamento com preenchimento automático.

  • nGram - criar tokens indexáveis, chamados de grams, deslizando uma janela de caracteres de comprimento variável sobre uma palavra. O Atlas Search cria mais tokens para nGram do que edgeGram ou rightEdgeGram. Portanto, o nGram consome mais espaço e tempo para indexar o campo. nGram é mais adequado para executar queries de idiomas com palavras compostas e longas ou idiomas que não usam espaços.

edgeGram, rightEdgeGram e nGram são aplicados no nível da letra. Por exemplo, considere a seguinte frase:

The quick brown fox jumps over the lazy dog.

Quando tokenizado com um valor minGrams de 2 e um valor maxGrams de 5, o Atlas Search indexa a seguinte sequência de caracteres baseado no valor tokenization que você escolhe:

Observação

Indexar um campo para preenchimento automático com uma estratégia de tokenização de edgeGram, rightEdgeGram ou nGram é computacionalmente mais caro do que indexar um campo de string. O índice ocupa mais espaço do que um índice com campos de string regulares.

edgeGram
foldDiacritics
boleano
opcional

Sinalizador que indica se você deve incluir ou remover sinais diacríticos do texto indexado. O valor pode ser um dos seguintes:

  • true - ignora sinais diacríticos no índice e no texto da query. Retorna resultados com e sem sinais diacríticas. Por exemplo, uma pesquisa por cafè retorna resultados com os caracteres cafè e cafe.

  • false - inclua marcas diacríticas no índice e no texto da query. Retorna somente os resultados que correspondem às strings com ou sem diacríticos na query. Por exemplo, uma pesquisa por cafè retorna resultados somente com os caracteres cafè. Uma pesquisa por cafe retorna resultados somente com os caracteres cafe.

true

Dica

Consulte também: Exemplos adicionais de definição de índice

← Como indexar os elementos de uma array