La intención de búsqueda del usuario determina directamente si los resultados satisfacen sus necesidades. En OpenSearch, Query Planner interpreta esta intención mediante una serie de análisis inteligentes que reescriben la consulta antes de ejecutar la recuperación y el ordenamiento en el motor. Las funciones de análisis de consultas disponibles incluyen configuración de sinónimos, filtrado de palabras vacías, corrección ortográfica, análisis de peso de términos y predicción de categorías. En escenarios de comercio electrónico, también se admite el reconocimiento de entidades con nombre (NER). Este documento describe cada función de análisis de consultas y proporciona ejemplos concretos para casos de uso de comercio electrónico.
Descripción general del filtrado de palabras vacías
Filtre los términos sin significado de las consultas mediante el diccionario de palabras vacías integrado del sistema. Por lo general, se trata de palabras de alta frecuencia que no afectan los resultados de búsqueda, como signos de puntuación y partículas modales.
Descripción general de la corrección ortográfica
Las consultas de los usuarios no siempre son precisas. Los errores tipográficos pueden generar resultados inesperados o vacíos, por lo que es necesario comprobar la ortografía de la entrada. La función de corrección ortográfica de OpenSearch identifica y corrige los términos mal escritos en la consulta. Según el nivel de confianza de la corrección, el sistema decide si utiliza el término corregido para la recuperación.
Descripción general del análisis de peso de términos
Esta función evalúa la importancia de cada término en la consulta y le asigna un peso. Los términos con pesos bajos pueden excluirse de la recuperación para evitar coincidencias demasiado restrictivas, las cuales podrían reducir el número de resultados relevantes cuando los usuarios incluyen términos de baja relevancia.
Introducción básica a la función de sinónimos
En escenarios de búsqueda reales, los usuarios suelen expresar el mismo concepto con palabras diferentes. Por ejemplo, al buscar teléfono Apple, el contenido que contiene iPhone también debería aparecer en los resultados. Dado que los usuarios rara vez incluyen todos los sinónimos posibles en una sola consulta, reconocer y expandir sinónimos mejora significativamente la tasa de recuperación. La configuración de sinónimos amplía la consulta con términos equivalentes para recuperar más documentos relevantes.
Descripción general del reconocimiento de entidades con nombre
El reconocimiento de entidades con nombre (NER) identifica entidades semánticas con significados específicos dentro de la consulta. Con base en las entidades reconocidas y sus tipos, el análisis de consultas reescribe la consulta mediante pesos específicos por entidad para ajustarse mejor a la intención del usuario. La reescritura prioriza las entidades de alta importancia durante la recuperación. Los términos de baja importancia no afectan la recuperación, pero sí influyen en el ordenamiento algorítmico.
Ejemplo de análisis de consultas de comercio electrónico
Tome la consulta Yang Mi's Nike slim-fit dress with free shipping. como ejemplo. Sin el análisis de consultas configurado, la consulta original es:
query=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' AND default:'free shipping' AND default:'.')
Después de habilitar el filtrado de palabras vacías, la consulta real se convierte en:
query=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' AND default:'free shipping')
// Note: Punctuation has been filtered out as a stop word.
Después de agregar la corrección ortográfica, la consulta real se convierte en:
query=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' AND default:'free shipping')
// Note: Spelling correction has corrected a misspelled search term to 'dress'.
Después de agregar el análisis de peso de términos, la consulta real se convierte en:
query1=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' RANK default:'free shipping')
query2=(default:'Yang Mi' RANK default:'slim-fit' RANK default:'free shipping' RANK default:'same style' RANK default:'Nike' RANK default:'dress')
// Note: After configuring term weights, the low-weight term "free shipping" is excluded from retrieval. If query1 returns no results, the engine automatically triggers a re_search using query2 to avoid empty results.
Después de agregar la configuración de sinónimos, la consulta real se convierte en:
query1=(default:'Yang Mi' AND default:'same style' AND ((default:'Nike') OR (default:'nike')) AND default:'slim-fit' AND default:'dress' RANK default:'free shipping')
query2=(default:'Yang Mi' RANK ((default:'Nike') OR (default:'nike')) RANK default:'slim-fit' RANK default:'free shipping' RANK default:'same style' RANK default:'dress')
// Note: After configuring synonyms, "nike" is added as a synonym for "Nike". If query1 returns no results, the engine automatically triggers a re_search using query2 to avoid empty results.
Después de agregar el reconocimiento de entidades con nombre, la consulta real se convierte en:
query1=(default:'Yang Mi' AND ((default:'Nike') OR (default:'nike')) AND default:'slim-fit' AND default:'dress' RANK default:'free shipping' RANK default:'same style')
query2=(((default:'Nike') OR (default:'nike')) AND default:'dress' RANK default:'slim-fit' RANK default:'free shipping' RANK default:'same style' RANK default:'Yang Mi')
// Note: NER identifies the following entities: Yang Mi (person), same style (suffix), Nike/nike (brand), slim-fit (style element), dress (category), free shipping (marketing service). High-importance entities are retained for retrieval; low-importance terms affect only sorting, not retrieval. If query1 returns no results, the engine automatically triggers a re_search using query2 to avoid empty results.
Pasos de configuración en la consola
Paso 1: En la consola de OpenSearch, vaya a Recall Configuration > Query Analysis y haga clic en Create. En el panel de navegación izquierdo, elija Recall Configuration > Query Analysis para abrir la página de lista de análisis de consultas. Haga clic en el botón Create en la esquina superior derecha para crear una nueva regla de análisis de consultas. Paso 2: Configure el nombre de la regla, el alcance del índice, el tipo de industria y las funciones seleccionadas (se permiten varias selecciones). En el cuadro de diálogo Add Rule, introduzca un nombre de regla (por ejemplo, test_qp), establezca el alcance del índice en default, seleccione General como tipo de industria y marque Spelling Correction, Term Weight y Synonym. En la configuración de peso de términos, seleccione System Built-in Dictionary y luego haga clic en OK. Paso 3: Después de crear la regla, ejecute una prueba de eficacia de búsqueda. Una vez validada, establezca la regla como predeterminada para aplicarla a las consultas en producción. Prueba de búsqueda: tras la creación, la lista de análisis de consultas muestra una nueva regla llamada test_qp de tipo Custom, con campo de búsqueda default, tipo de industria General, y Spelling Correction, Term Weight y Synonym habilitados. Haga clic en el enlace Search Test en la columna Actions para verificar el efecto del análisis de consultas. Cambio a vista de índice y establecimiento como predeterminado: en la página Query Analysis, haga clic en Query Analysis View en la esquina superior derecha para cambiar a Index View. Esto muestra todas las reglas de análisis de consultas asociadas al índice y sus funciones (filtrado de palabras vacías, corrección ortográfica, peso de términos, sinónimos, etc.). En la lista de reglas, haga clic en Set as Default Query Analysis junto a una regla para convertirla en la predeterminada de ese índice. Haga clic en el botón Create en la esquina superior derecha para agregar una nueva regla de análisis de consultas.