Docs Menu
Docs Home
/ /

Cómo buscar datos no alfabéticos como cadenas

Este tutorial demuestra cómo ejecutar consultas específicas de cadenas contra campos que no son cadenas convirtiendo los campos en cadenas y almacenándolos en un Vista materializada. Esta vista permite usar operadores específicos de cadena para consultar los campos convertidos y mantener intactos los datos originales en la colección de origen.

Este tutorial sigue estos pasos:

  1. Crear una vista materializada en una colección de muestras

  2. Crear índices de búsqueda de MongoDB en la vista materializada

  3. Ejecute consultas de búsqueda de MongoDB en los campos convertidos en la vista materializada

Antes de comenzar, asegúrese de que su clúster cumpla con los requisitos descritos en la Prerrequisitos.

Esta sección demuestra cómo crear una vista materializada denominada airbnb-mat-view En la colección sample_airbnb.listingsAndReviews. Esta vista almacena varios campos numéricos y de fecha de la colección de origen como campos de cadena.

Para ejecutar las consultas en la etapa Ejecutar consultas en los campos convertidos de este tutorial, debe crear índices de búsqueda de MongoDB en los campos de cadena convertidos en su airbnb_mat_view vista materializada.

La siguiente Las definicionesJSON definen los índices de MongoDB Search en la airbnb_mat_view vista materializada. Puede usar asignaciones dinámicas o estáticas para especificar los campos que desea indexar en su colección, según el tipo de consultas que desee ejecutar. Para obtener más información sobre las asignaciones de campos o la sintaxis de los índices de MongoDB Search, consulte "Definir asignaciones de campos" o "Referencia de índices", respectivamente.

La siguiente definición de índice de búsqueda JSON de MongoDB utiliza asignaciones dinámicas para indexar los campos en la vista materializada. Puede usar este índice para ejecutar consultas con el operador queryString.

No se pueden ejecutar consultas utilizando el operador de autocompletar en campos indexados dinámicamente.

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

La siguiente definición de índice de búsqueda JSON de MongoDB utiliza asignaciones estáticas para indexar los campos de la vista materializada como tipo de autocompletado. Puede usar este índice para ejecutar consultas con el operadorde autocompletado.

No puedes ejecutar consultas utilizando el operador queryString en 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 aprender cómo crear los índices definidos anteriormente usando tu interfaz preferida, consulta Clientes compatibles.

Puede ejecutar consultas en los campos numéricos y de fecha convertidos a cadenas. Este tutorial utiliza los operadores queryString y autocompletar para buscar propiedades. La consulta utiliza las siguientes etapas de la canalización:

  • $search Etapa para buscar en la colección

  • Etapa $limit para limitar la salida a resultados 5

  • $project etapa a excluir _id

En esta sección, se conectará a su clúster y ejecutará las consultas de muestra utilizando el operador contra los campos de la colección airbnb_mat_view.

Nota

No es posible ejecutar consultas cercanas o de rango en los campos de fecha y número que se convirtieron en cadenas en su vista materializada.

Volver

Diseña la búsqueda para el modelo de datos

En esta página