Búsqueda de un índice
Después de crear y rellenar un índice, puede consultarlo para buscar información en el contenido de los documentos indexados. Aunque podría recuperar entradas de índice en función de la coincidencia simple con el valor del campo, la mayoría de las soluciones de búsqueda usan la semántica de búsqueda de texto completo para consultar un índice.
Búsqueda de texto completo
La búsqueda de texto completo describe soluciones de búsqueda que analizan el contenido de documentos basados en texto para buscar términos de consulta. Las consultas de búsqueda de texto completo en Búsqueda de Azure AI se basan en la sintaxis de consulta de Lucene, que proporciona un amplio conjunto de operaciones de consulta para buscar, filtrar y ordenar datos en índices. Búsqueda de Azure AI admite dos variantes de la sintaxis de Lucene:
- Simple: una sintaxis intuitiva que facilita la realización de búsquedas básicas de coincidencias con los términos de consulta literales enviados por un usuario.
- Full: una sintaxis extendida que admite el filtrado complejo, expresiones regulares y otras consultas más sofisticadas.
Las aplicaciones cliente envían consultas a Búsqueda de Azure AI especificando una expresión de búsqueda junto con otros parámetros que determinan cómo se evalúa la expresión y los resultados devueltos. Algunos de los parámetros comunes que se envían con una consulta son los siguientes:
- search: una expresión de búsqueda que incluye los términos que se van a buscar.
- queryType: la sintaxis de Lucene que se va a evaluar (simple o full).
- searchFields: los campos del índice en los que se va a buscar.
- select: los campos que se van a incluir en los resultados.
- searchMode: los criterios para incluir resultados basados en varios términos de búsqueda. Por ejemplo, supongamos que busca un hotel cómodo. Un valor searchMode Any devuelve los documentos que contienen "cómodo", "hotel" o ambos términos. Mientras que un valor searchMode All restringe los resultados a los documentos que contienen tanto "cómodo" como "hotel".
El procesamiento de consultas se compone de cuatro fases:
- Análisis de consultas: la expresión de búsqueda se evalúa y se reconstruye como un árbol de subconsultas adecuadas. Las subconsultas pueden incluir consultas de términos (para buscar palabras individuales específicas en la expresión de búsqueda, como hotel), consultas de frases (para buscar frases con varios términos especificados entre comillas en la expresión de búsqueda, como "aparcamiento gratuito") y consultas de prefijo (para buscar términos con un prefijo especificado; por ejemplo, aero*, que devolvería coincidencias como aerobic, aerolínea y aeropuerto).
- Análisis léxico: los términos de consulta se analizan y refinan según las reglas lingüísticas. Por ejemplo, el texto se convierte a minúsculas y se quitan las palabras irrelevantes no esenciales (como "el", "un", "es", etc.). A continuación, las palabras se convierten en su forma raíz (por ejemplo, "confortable" podría simplificarse como "confort") y las palabras compuestas se dividen en sus términos constituyentes.
- Recuperación de documentos: los términos de consulta se comparan con los términos indexados y se identifica el conjunto de documentos coincidentes.
- Puntuación: se asigna una puntuación de relevancia a cada resultado en función de un cálculo de la frecuencia del término y la frecuencia inversa del documento (TF/IDF).
Nota:
Para obtener más información sobre cómo consultar un índice y más detalles sobre la sintaxis simple y completa, consulte los tipos y la composición de consultas en Búsqueda de Azure AI en la documentación de Búsqueda de Azure AI.