¿Qué es MongoDB Search?
MongoDB Search es una búsqueda de texto completo integrada que proporciona una experiencia sin interrupciones y escalable para desarrollar características de aplicación basadas en relevancia, lo que elimina la necesidad de ejecutar un sistema de búsqueda separado junto a la base de datos.
Puede usar MongoDB Search para indexación y consulta de datos detalladas en su clúster. MongoDB Search proporciona varios tipos de analizadores de texto, un completo languaje del query para crear lógica de búsqueda compleja, una clasificación de resultados según puntuación totalmente personalizada y funcionalidades de búsqueda avanzadas para tus aplicaciones, como autocompletar, paginación y facetas.
Casos de uso
MongoDB búsqueda admite diversos casos de uso, incluidos los siguientes:
Buscar mientras escribe: Para predecir palabras con una precisión cada vez mayor a medida que los usuarios introducen caracteres en el campo de búsqueda de la aplicación, se puede utilizar el operador de autocompletado de MongoDB Search para predecir y devolver resultados para palabras parciales. Para obtener más información, se debe consultar Cómo ejecutar consultas de MongoDB Search con autocompletar y coincidencia parcial.
Búsqueda por facetas: para permitir que los usuarios de su aplicación limiten los resultados de búsqueda mediante el uso de filtros, puede utilizar la Búsqueda de MongoDB
facet(Operador de búsqueda de MongoDB) para crear facetas que agrupan los resultados por valores o rangos en los campos facetados. Para obtener más información, consulte Cómo usar facetas con la búsqueda de MongoDB.Resultados paginados: para agrupar páginas de resultados e implementar funciones como "Página siguiente" y "Página anterior", se puede utilizar la búsqueda de MongoDB con las opciones
searchSequenceToken,searchAfterysearchBeforepara recorrer las páginas en orden y saltar entre ellas. Para aprender más, ver Cómo paginar los resultados.
Conceptos clave
Los siguientes conceptos forman la base de la búsqueda de MongoDB y son esenciales para optimizar la aplicación.
¿Qué son las consultas de búsqueda?
Las consultas de búsqueda acceden a un índice para obtener un conjunto de resultados. Se diferencian de las consultas tradicionales a bases de datos en que satisfacen necesidades de información más generales. Mientras que una consulta a una base de datos debe seguir una sintaxis estricta, las consultas de búsqueda permiten realizar coincidencias de texto sencillas. También se pueden buscar frases similares, rangos de números o fechas, expresiones regulares o caracteres comodín.
Las consultas de MongoDB Search tienen la siguiente forma Etapa de canalización de agregación. MongoDB Search proporciona $search las etapas y, que $searchMeta puede utilizar con otras etapas de canalización de agregación en su canalización de consultas. MongoDB Search proporciona operadores de consulta y recolectores que puede utilizar dentro de estas etapas de canalización de agregación.
Para obtener más información, consulta Query e índices.
¿Qué es un índice de búsqueda?
En el contexto de la búsqueda, un índice es una estructura de datos que clasifica la información en un formato fácilmente consultable. Los índices de búsqueda permiten recuperar más rápidamente los documentos que contienen un término determinado sin tener que escanear toda la colección. Si bien tanto los índices de búsqueda de MongoDB como los índices de MongoDB agilizan la recuperación de datos, presentan diferencias. Al igual que el índice al final de un libro, un índice de búsqueda establece una correspondencia entre los términos y los documentos que los contienen. Los índices de búsqueda también incluyen otros metadatos relevantes, como la posición de los términos en los documentos.
Es posible crear un índice de MongoDB Search en un solo campo o en varios campos usando asignaciones estáticas. Alternativamente, se pueden habilitar las asignaciones dinámicas para indexar automáticamente todos los campos que se pueden indexar dinámicamente en los documentos. Se pueden crear índices de MongoDB Search en datos polimórficos y documentos incrustados, o para casos de uso específicos, como búsqueda mientras se escribe o búsqueda por facetas.
Para obtener más información, consulta Clientes compatibles.
¿Qué son los analizadores de búsqueda y los tokens?
Al crear un índice de búsqueda, Atlas Search transforma sus datos en una secuencia de tokens o términos. Un analizador facilita este proceso mediante pasos que incluyen:
Tokenización: Divide las palabras de una cadena en tokens indexables, como por ejemplo, separar una oración por espacios en blanco y signos de puntuación.
Normalización: Organiza los datos para una representación coherente y un análisis más sencillo, como por ejemplo, transformando el texto a minúsculas o eliminando palabras no deseadas, denominadas palabras vacías.
Derivación: Reduce las palabras a su forma raíz ignorando sufijos, prefijos y formas plurales.
Los detalles de la tokenización son específicos de cada lenguaje y pueden requerir tomar decisiones adicionales. Qué analizador usar depende de los datos y de la aplicación.
MongoDB Search proporciona algunos analizadores incorporados. También se puede crear analizador personalizado propio. Se puede especificar analizadores alternativos usando el multianalizador.
Para obtener más información, consulta Procesar datos con analizadores.
¿Qué es una puntuación de búsqueda?
Cada documento en los resultados de la consulta recibe una puntuación de relevancia que los ordena de mayor a menor relevancia. En su forma más simple, los documentos obtienen una puntuación más alta si el término de consulta aparece con frecuencia en un documento y una puntuación más baja si aparece en muchos documentos de la colección. También puede personalizar la puntuación para adaptar la búsqueda a un dominio específico, aumentando, disminuyendo o modificando la puntuación predeterminada basada en la relevancia.
Para obtener más información, consulta Documentos de puntuación.
Próximos pasos
Para obtener una experiencia práctica en la creación de índices de búsqueda de MongoDB y en la ejecución de consultas de búsqueda de MongoDB con datos de muestra, pruebe el MongoDB búsqueda Quick Start.