¿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 facetada: Para permitir a los usuarios de tu aplicación limitar los resultados de búsqueda mediante el uso de filtros, puedes utilizar el colector de MongoDB Search
facet(operador de MongoDB Search) para compilar facetas que agrupen los resultados por valores o rangos en los campos facetados. Para obtener más información, consulta Cómo utilizar facetas con MongoDB Search.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 consultan un índice de búsqueda para devolver un conjunto de resultados. Las consultas de búsqueda difieren de las consultas tradicionales de bases de datos, ya que satisfacen necesidades de información más generales. Cuando una query a la base de datos debe seguir una sintaxis estricta, puedes utilizar consultas de búsqueda para una simple coincidencia de texto. También puede buscar frases similares, rangos de números o fechas y expresiones regulares o comodines.
Las consultas de MongoDB Search tienen la siguiente forma etapas del pipeline de agregación. MongoDB Search proporciona las etapas de $search y $searchMeta, que puedes usar junto con otras etapas del pipeline de agregación en tu canalización de consultas. MongoDB Search proporciona operadores del query y colectores que pueden utilizarse dentro de estas etapas del pipeline 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 categoriza los datos en un formato fácilmente buscable. Los índices de búsqueda permiten una recuperación más rápida de los documentos que contienen un término determinado sin tener que escanear toda la colección. Aunque tanto los índices de búsqueda de MongoDB como los índices de MongoDB aceleran la recuperación de datos, son diferentes. Como el índice al final de un libro, un índice de búsqueda es un mapeo entre términos y los documentos que contienen esos términos. Los índices de búsqueda también contienen otros metadatos relevantes, como las posiciones 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?
Cuando creas un índice de búsqueda, Atlas Search transforma tus datos en una secuencia de tokens o términos. Un analizador facilita este proceso a través de pasos que incluyen:
Tokenización: Separa las palabras en una string en tokens indexables, como dividir una frase 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 fácil, como transformar el texto a minúsculas o remover palabras no deseadas llamadas palabras vacías.
Lematización: reduce las palabras a su forma raíz al ignorar sufijos, prefijos y formas plurales de palabras.
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 query recibe una puntuación de relevancia que ordena los resultados de mayor a menor relevancia. En la forma más simple de puntuación, los documentos obtienen una puntuación más alta si el término de query aparece con frecuencia en un documento y más baja si el término de query aparece en muchos documentos de la colección. También puedes personalizar la puntuación para adaptar la búsqueda a un dominio específico mediante el aumento, la disminución o la modificación de la puntuación por defecto 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.