¿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 indexar texto de forma detallada y consultar datos en su clúster. MongoDB Search ofrece varios tipos de... analizadores de texto, un lenguaje de consulta rico para crear una lógica de búsqueda compleja, clasificación de resultados basada en puntajes personalizable y funciones de búsqueda avanzadas para sus aplicaciones, como autocompletar, paginación y facetado.
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 consultan un índice de búsqueda para devolver un conjunto de resultados. Las consultas de búsqueda son diferentes de las query tradicionales a bases de datos, ya que están diseñadas para satisfacer necesidades de información más generales. Donde una query de base de datos debe seguir una sintaxis estricta, las consultas de búsqueda se pueden utilizar para buscar coincidencias de texto simples, pero también pueden buscar frases similares, rangos de números o fechas, o utilizar expresiones regulares o comodines.
Las consultas de búsqueda de MongoDB toman la forma de una Etapa de canalización de agregación. MongoDB Search ofrece $search las etapas y, que pueden $searchMeta usarse junto con otras etapas de canalización de agregación en su canalización de consultas. MongoDB Search proporciona operadores de consulta y recopiladores que puede usar 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 categoriza los datos en un formato de fácil búsqueda. Los índices de búsqueda permiten una recuperación más rápida de documentos que contienen un término dado 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, debe tenerse en cuenta que no son iguales. Al igual que el índice al final de un libro, un índice de búsqueda es una correspondencia 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?
Al crear un índice de búsqueda, primero se deben transformar los datos en una secuencia de tokens o términos. Un analizador facilita este proceso a través de pasos que incluyen:
Tokenización: Dividir las palabras de una string en tokens indexables. Por ejemplo, dividir una oración por espacios en blanco y signos de puntuación.
Normalización: Organizar los datos para que se representen de manera coherente y sean más fáciles de analizar. Por ejemplo, transformar texto a minúsculas o remover palabras no deseadas llamadas palabras vacías.
Stemming: Reducir las palabras a su forma raíz. Por ejemplo, ignorando sufijos, prefijos y formas plurales de las 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 permite devolver los resultados de la query en orden desde la mayor a la 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 la query aparece con frecuencia en un documento y más baja si el término aparece en muchos documentos de la colección. La puntuación también puede personalizarse. Adaptar la búsqueda a un dominio específico a menudo implica personalizar la puntuación por defecto basada en la relevancia, aumentándola, degradándola o modificándola de otras maneras.
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.