Menu Docs
Página inicial do Docs
/ /

Como pesquisar dados não alfabéticos como strings

Este tutorial demonstra como executar consultas específicas de strings em campos não strings, convertendo os campos em strings e armazenando-os em uma visualização materializada. As visualizações materializadas permitem que você use operadores específicos para strings para consultar os campos convertidos e manter os dados originais intactos na coleção de origem.

Este tutorial orienta você pelas seguintes etapas:

  1. Crie uma visualização materializada em uma collection de amostras

  2. Criar índices de pesquisa MongoDB na visualização materializada

  3. Execute queries de pesquisa do MongoDB nos campos convertidos na visualização materializada

Antes de começar, certifique-se de que seu cluster atenda aos requisitos descritos nos pré-requisitos.

Esta seção demonstra como criar uma visualização materializada chamada airbnb-mat-view no sample_airbnb.listingsAndReviews collection. Essa visualização armazena vários campos numéricos e de data da collection de origem como campos de string.

Para executar as queries no estágio Executar queries nos campos convertidos deste tutorial, você precisa criar índices do MongoDB Search nos campos de string convertidos em sua visualização materializada do airbnb_mat_view.

As seguintes definiçõesJSON do definem índices de pesquisa MongoDB na visualização materializada do airbnb_mat_view. Você pode utilizar mapeamentos dinâmicos ou estáticos para especificar quais campos deseja indexar em sua collection, dependendo do tipo de queries que deseja executar. Para saber mais sobre mapeamentos de campo ou sintaxe de índice do MongoDB Search, consulte Definir Mapeamentos de Campo ou Referência de Índice, respectivamente.

A seguinte definição de índice JSON MongoDB Search utiliza mapeamentos dinâmicos para indexar os campos na visualização materializada. Você pode usar esse índice para executar queries usando o operador queryString.

Você não pode executar queries usando o operador autocomplete em campos indexados dinamicamente.

{
"mappings": {
"dynamic": true
}
}

A seguinte definição de índice JSON MongoDB Search utiliza mapeamentos estáticos para indexar os campos na visualização materializada como o tipo autocomplete. Você pode usar esse índice para executar queries usando o operador de preenchimento automático.

Você não pode executar queries utilizando o operador queryString em campos indexados como tipo autocomplete.

{
"mappings": {
"dynamic": false,
"fields": {
"accommodatesNumber": [
{
"dynamic": true,
"type": "document"
},
{
"minGrams": 1,
"type": "autocomplete"
}
],
"lastScrapedDate": [
{
"dynamic": true,
"type": "document"
},
{
"type": "autocomplete"
}
],
"maximumNumberOfNights": [
{
"dynamic": true,
"type": "document"
},
{
"minGrams": 1,
"type": "autocomplete"
}
]
}
}
}

Para saber como criar os índices definidos acima usando sua interface preferida, consulte Clientes compatíveis.

Você pode executar queries nos campos numéricos e de data que foram convertidos em cadeias de caracteres. Este tutorial usa os operadores queryString e autocomplete para pesquisar propriedades. A query utiliza os seguintes estágios de pipeline:

  • $search estágio para pesquisar a coleção.

  • Estágio $limit para limitar a saída a 5 resultados.

  • $project estágio a ser excluído _id

Nesta seção, você se conecta ao seu cluster e executa as queries de amostra usando o operador nos campos da collection airbnb_mat_view.

Observação

Você não pode executar queries próximas ou de intervalo em relação aos campos de data e número que foram convertidos em cadeias de caracteres em sua exibição materializada.

Voltar

Pesquisa de design para seu modelo de dados

Nesta página