Você pode utilizar o tipo MongoDB Search autocomplete para indexar valores de texto em campos de string para preenchimento automático. Você pode fazer uma query dos campos indexados como tipo autocomplete usando o operadorde preenchimento automático .
Você também pode utilizar o tipo autocomplete para indexar:
Campos cujo valor é um array de strings. Para saber mais, consulte Como indexar os elementos de um array.
Campos de string dentro de uma array de documentos indexados como o tipo embeddedDocuments.
Dica
Se você tiver um grande número de documentos e uma variedade de dados para os quais deseja executar queries do MongoDB Search usando o operador de preenchimento automático, pode demorar algum tempo para criar esse índice. Como alternativa, você pode criar um índice separado apenas com o tipo
autocompletepara reduzir o impacto em outros índices e queries enquanto o índice é criado.Para saber mais, consulte Considerações sobre o desempenho do índice de pesquisa do MongoDB.
O tipo
autocompletenão está incluído no conjunto padrão de tipos que o MongoDB Search usa para mapeamentos dinâmicos. Para indexar dinamicamente campos de string como o tipoautocomplete, você pode incluir o tipoautocompleteem uma definição detypeSetpersonalizada. No entanto,autocompletetem características exclusivas de desempenho, armazenamento e pontuação que podem não ser adequadas para mapeamentos dinâmicos. Recomendamos usarautocompletesomente em mapeamentos estáticos. Para saber mais, consulte Desempenho do índice de pesquisa do MongoDB.
Definir o índice para o tipo autocomplete
Configurar propriedades de campo do autocomplete
O tipo MongoDB Search autocomplete usa os seguintes parâmetros:
Opção | Tipo | necessidade | Descrição | Default | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| string | necessário | Etiqueta legível por humanos que identifica este tipo de campo. O valor deve ser | |||||||||||||||||||||||
| string | opcional | Nome do analisador para utilizar com este mapeamento com preenchimento automático. Você pode usar qualquer analisador do MongoDB Search, exceto o |
| ||||||||||||||||||||||
| 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 We recommend setting the |
| ||||||||||||||||||||||
| int | opcional | Número mínimo de caracteres por sequência indexada. Recomendamos |
| ||||||||||||||||||||||
| enum | opcional | Estratégia de tokenização para indexar o campo para o preenchimento automático. O valor pode ser um dos seguintes:
Quando tokenizado com um valor Indexar um campo para preenchimento automático com uma estratégia de tokenização de Para a estratégia de tokenização especificada, a MongoDB Search aplica o seguinte processo para concatenar tokens sequenciais antes de emiti-los. Esse processo às vezes é chamado de "shingling". A Pesquisa do MongoDB emite tokens entre
|
| ||||||||||||||||||||||
| booleano | opcional | Sinalizador que determina se devem ser realizadas normalizações, como a inclusão ou remoção de sinais diacríticos do texto indexado. O valor pode ser um dos seguintes:
|
| ||||||||||||||||||||||
| string | opcional | Nome do algoritmo de similaridade a ser usado com este mapeamento de strings ao pontuar com o operador autocomplete. O valor pode ser um dos seguintes: Para aprender mais sobre os algoritmos de similaridade disponíveis, consulte Detalhes da pontuação. |
|
Experimente um exemplo para o tipo de autocomplete
Saiba mais
Para saber mais sobre o operador autocomplete e ver queries de exemplo, consulte preenchimento automático.
For examples that demonstrate how to run case-insensitive, prefix, starts with, and contains queries using regex expressions, see Use MongoDB Search Instead of Regex Queries.