Creación de una consulta híbrida en Búsqueda de Azure AI

Nota

Búsqueda de Azure AI está disponible a través del portal de Azure, las API REST y los SDK de Azure. También respalda Foundry IQ, la capa de conocimiento administrada que transforma el contenido empresarial en bases de conocimiento reutilizables y compatibles con permisos para agentes en el portal de Microsoft Foundry.

Importante

Las características, funcionalidades o propiedades marcadas (versión preliminar) no están cubiertas por un contrato de nivel de servicio, no se recomiendan para cargas de trabajo de producción y pueden cambiar o restringirse antes de que estén disponibles con carácter general. Los términos de la versión preliminar Búsqueda de Azure AI se aplican a todas las funciones de vista previa, ya sea independiente o parte de una característica disponible con carácter general.

La búsqueda híbrida combina consultas de texto (palabra clave) y vectores en una sola solicitud de búsqueda. Ambas consultas se ejecutan en paralelo. Los resultados se combinan y reordenan por nuevas puntuaciones de búsqueda, utilizando La fusión de clasificación recíproca (RRF) para devolver un conjunto de resultados unificado. En muchos casos, según las pruebas comparativas, las consultas híbridas con clasificación semántica devuelven los resultados más relevantes.

En este artículo, aprenderá a:

  • Configuración de una solicitud híbrida básica
  • Adición de parámetros y filtros
  • Mejora de la relevancia mediante la clasificación semántica o los pesos de vector
  • Optimización de comportamientos de consulta mediante el control de entradas (maxTextRecallSize)

Al final de este artículo, puede ejecutar consultas híbridas que combinen palabra clave y búsqueda vectorial con clasificación semántica opcional.

Requisitos previos

Elección de una API, una herramienta y un patrón de trabajo

  • El Explorador de búsqueda en el portal de Azure (admite sintaxis de búsqueda de API estable y en versión preliminar) tiene una vista JSON que le permite pegar una solicitud híbrida.

  • Paquetes estables o en versión preliminar más recientes del SDK de Azure (consulte los registros de cambios para la compatibilidad con características del SDK).

  • Api REST estables o una versión preliminar reciente de la API si usa características en versión preliminar como maxTextRecallSize y countAndFacetMode (versión preliminar).

    Para mejorar la legibilidad, se usan ejemplos de REST para explicar cómo funcionan las API. Puede usar un cliente REST como Visual Studio Code con la extensión REST para compilar consultas híbridas. También puede usar el SDK de Azure. Para obtener más información, consulte Inicio rápido: Búsqueda de vectores.

Patrones híbridos funcionales

Si no está familiarizado con la búsqueda híbrida, elija un patrón y ajuste los pasos pequeños. No empiece con la recuperación de vectores máxima, la recuperación de texto grande y la reclasificación semántica en la misma solicitud.

  • Híbrido equilibrado (valor predeterminado): use este primero para la mayoría de las cargas de trabajo. Comience con k en el intervalo de 30 a 50, top en el intervalo de 10 a 20 y habilite la clasificación semántica solo cuando mejora la relevancia medida.

  • Híbrido de recuperación prioritaria: utilícelo para consultas difíciles en las que el objetivo sea la cobertura. Aumente maxTextRecallSize gradualmente y mantenga la configuración de vector moderada. Espere un mayor costo de combinación.

  • Híbrido centrado en la precisión: se utiliza para lograr baja latencia a escala. Mantenga k y top modestos, aplique filtros selectivos y evite características semánticas que no añadan valor.

¿Por qué se limitan las consultas sobrecargadas?

Las consultas híbridas ejecutan texto y recuperación de vectores en paralelo y, a continuación, combinan los resultados con RRF. Si aumenta la contribución léxica (por ejemplo, cambiando la ponderación híbrida a favor de BM25), aumenta el número de candidatos de texto que se deben combinar con candidatos vectoriales. Si combina esto con ajustes costosos de vectores y el reordenamiento semántico, la presión sobre la CPU y la memoria aumenta rápidamente.

En configuraciones de capacidad más pequeñas, esta combinación adicional y el trabajo de reordenamiento pueden provocar lo siguiente:

  • Mayor latencia y picos de p95/p99
  • 429 respuestas de limitación
  • Solicitudes rechazadas o agotadas por tiempo observadas por el cliente cuando el comportamiento de reintento no está configurado.

Orden de ajuste antes del escalado horizontal

Ajuste la configuración de consultas y vectores antes de agregar réplicas:

  1. Reduzca primero la configuración de búsqueda de vectores costosa. Por ejemplo, si efSearch y maxConnections se establecen de forma agresiva, reduzcalas antes de escalar horizontalmente (por ejemplo, reduzca efSearch de aproximadamente 800 a 128 a 192 y reduzca maxConnections de 64 a 32).
  2. Limite el ámbito de reordenamiento semántico a los casos que se beneficien de este.
  3. Vuelva a probar la latencia y las tasas de error 429 con una carga representativa.
  4. Solo escale las réplicas si la limitación persiste después del ajuste.

Use esta secuencia para mejorar primero la estabilidad y controlar el costo antes de escalar.

Configuración de una consulta híbrida

En esta sección se explica la estructura básica de una consulta híbrida y cómo configurar una en el Explorador de búsqueda o para su ejecución en un cliente REST.

Los resultados se devuelven en texto sin formato, incluidos los vectores de los campos marcados como retrievable. Dado que los vectores numéricos no son útiles en los resultados de búsqueda, elija otros campos del índice como proxy para la coincidencia de vectores. Por ejemplo, si un índice tiene campos "descriptionVector" y "descriptionText", la consulta puede coincidir con "descriptionVector", pero el resultado de la búsqueda puede mostrar "descriptionText". Use el select parámetro para especificar solo campos legibles en los resultados.

  1. Vaya al servicio de búsqueda en el portal Azure.

  2. En Índices de administración> debúsqueda, seleccione un índice que tenga vectores y contenido no vectorial. El Explorador de búsqueda es la primera pestaña.

  3. En Vista, cambie a la vista JSON para que pueda pegar una consulta vectorial.

  4. Reemplace la plantilla de consulta predeterminada por una consulta híbrida. Una consulta híbrida básica tiene una consulta de texto especificada en searchy una consulta vectorial especificada en vectorQueries.vector. La consulta de texto y la consulta vectorial pueden ser equivalentes o divergentes, pero es habitual que compartan la misma intención.

    Este ejemplo procede del inicio rápido de vector que tiene contenido vectorial y no vector y varios ejemplos de consultas. Por motivos de brevedad, el vector se trunca en este artículo.

    {
        "search": "historic hotel walk to restaurants and shopping",
        "vectorQueries": [
            {
                "vector": [0.01944167, 0.0040178085, -0.007816401 ... <remaining values omitted> ], 
                "k": 7,
                "fields": "DescriptionVector",
                "kind": "vector",
                "exhaustive": true
            }
        ]
    }
    
  5. Seleccione Buscar.

    Sugerencia

    Los resultados de la búsqueda son más fáciles de leer si oculta los vectores. En Opciones de consulta, active Ocultar valores vectoriales en los resultados de la búsqueda.

  6. Esta es otra versión de la consulta. Este agrega un count para el número de coincidencias encontradas, un select parámetro para elegir campos específicos y un top parámetro para devolver los siete primeros resultados.

     {
         "count": true,
         "search": "historic hotel walk to restaurants and shopping",
         "select": "HotelId, HotelName, Category, Tags, Description",
         "top": 7,
         "vectorQueries": [
             {
                 "vector": [0.01944167, 0.0040178085, -0.007816401 ... <remaining values omitted> ], 
                 "k": 7,
                 "fields": "DescriptionVector",
                 "kind": "vector",
                 "exhaustive": true
             }
         ]
     }
    

Establecer maxTextRecallSize y countAndFacetMode (versión preliminar)

Se puede ajustar una consulta híbrida para controlar la cantidad de cada subconsulta que contribuye a los resultados combinados. La configuración del parámetro maxTextRecallSize (versión preliminar) especifica cuántos resultados clasificados según BM25 se envían al modelo de clasificación híbrida.

Si la solicitud incluye facetas, use campos no vectores marcados como facetable en el índice. Los campos vectoriales no son facetables.

Los recuentos de facetas dependen del tipo de consulta:

  • En una consulta de solo texto, las facetas cuentan los documentos que coinciden con la consulta de texto.
  • En una consulta de solo vector, las facetas cuentan los k documentos devueltos por la consulta vectorial.
  • En una consulta híbrida, las facetas se contabilizan para los resultados de vector y texto. La parte vectorial aporta los k documentos más cercanos. La parte textual aporta documentos clasificados según BM25. El countAndFacetMode parámetro (versión preliminar) determina si los cálculos de recuento y faceta usan todas las coincidencias de texto o solo las coincidencias de texto que se recuperan para la clasificación.

Si usa maxTextRecallSize, es posible que también desee establecer countAndFacetMode. Este parámetro determina si count e facets incluyen todos los documentos que coinciden con la consulta de texto o solo los documentos recuperados dentro de la maxTextRecallSize ventana. El valor por defecto es countAllResults.

Con el modo predeterminado countAllResults, los recuentos y las facetas pueden incluir documentos del lado del texto que no se recuperan para la clasificación RRF porque quedan fuera de la ventana de maxTextRecallSize. Aumentar maxTextRecallSize incrementa el número de documentos ordenados según BM25 disponibles para su clasificación, pero no aumenta la contribución vectorial más allá de k. Use countRetrievableResults si desea que los cálculos de recuento y facetas se limiten a los documentos recuperados para la clasificación híbrida.

Se recomienda la API REST de versión preliminar más reciente para establecer estas opciones.

Sugerencia

Otro enfoque para el ajuste de consultas híbridas es la ponderación de vectores, que se usa para aumentar la importancia de las consultas vectoriales en la solicitud.

  1. Use Search - POST (versión preliminar) o Search - GET (versión preliminar) para especificar parámetros de vista previa.

  2. Agregue un hybridSearch objeto de parámetro de consulta para establecer el número máximo de documentos recuperados a través de los resultados clasificados por BM25 de una consulta híbrida. Tiene dos propiedades:

    • maxTextRecallSize especifica el número de resultados clasificados de BM25 que se van a proporcionar al clasificador de Fusión de clasificación recíproca (RRF) usado en consultas híbridas. El valor predeterminado es 1000. El máximo es de 10 000.

    • countAndFacetMode notifica el recuento y el ámbito de faceta para una consulta híbrida. El valor predeterminado, countAllResults, usa el conjunto de resultados híbrido completo, incluidos todos los documentos que coinciden con la consulta de texto, incluso si algunas de esas coincidencias de texto no se recuperan para la clasificación de RRF porque se encuentran fuera de la maxTextRecallSize ventana. Utilice countRetrievableResults para incluir el recuento y las facetas en el ámbito de los documentos recuperados para clasificación, incluidos los maxTextRecallSize documentos clasificados por BM25 y las coincidencias de vectores k .

  3. Establecer maxTextRecallSize:

    • Disminuya maxTextRecallSize si la búsqueda de similitud de vectores suele superar el lado de texto de la consulta híbrida.

    • Aumente maxTextRecallSize si tiene un índice grande y el valor predeterminado no captura un número suficiente de resultados. Con un conjunto de resultados clasificados por BM25 más extenso, también puede configurar top, skip, y next para recuperar partes de esos resultados.

En los ejemplos rest siguientes se muestran dos casos de uso para establecer maxTextRecallSize.

En el primer ejemplo se reduce maxTextRecallSize a 100, lo que limita el lado de texto de la consulta híbrida a solo 100 documentos. También establece countAndFacetMode para incluir solo documentos recuperables en los cálculos de recuento y facetas.

POST https://[service-name].search.windows.net/indexes/[index-name]/docs/search?api-version=2026-08-01-preview

    { 
      "vectorQueries": [ 
        { 
          "kind": "vector", 
          "vector": [1.0, 2.0, 3.0], 
          "fields": "my_vector_field", 
          "k": 10 
        } 
      ], 
      "search": "hello world", 
      "hybridSearch": { 
        "maxTextRecallSize": 100, 
        "countAndFacetMode": "countRetrievableResults" 
      } 
    } 

El segundo ejemplo aumenta maxTextRecallSize a 5000. También usa top, skip y next para extraer resultados de grandes conjuntos de resultados. En este caso, la solicitud extrae los resultados clasificados de BM25 a partir de la posición 1 500 a 2 000 como contribución de la consulta de texto al conjunto de resultados compuesto de RRF.

POST https://[service-name].search.windows.net/indexes/[index-name]/docs/search?api-version=2026-08-01-preview

    { 
      "vectorQueries": [ 
        { 
          "kind": "vector", 
          "vector": [1.0, 2.0, 3.0], 
          "fields": "my_vector_field", 
          "k": 10 
        } 
      ], 
      "search": "hello world",
      "top": 500,
      "skip": 1500,
      "next": 500,
      "hybridSearch": { 
        "maxTextRecallSize": 5000, 
        "countAndFacetMode": "countRetrievableResults" 
      } 
    } 

Referencia: hybridSearch | maxTextRecallSize | countAndFacetMode

Ejemplos de consultas híbridas

En esta sección se muestran varios ejemplos de consultas que ilustran los patrones de consulta híbrida.

Ejemplo: Búsqueda híbrida con filtro

En este ejemplo se agrega un filtro, que se aplica a los filterable campos no vectores del índice de búsqueda.

POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version=2026-04-01
Content-Type: application/json
api-key: {{admin-api-key}}
{
    "vectorQueries": [
        {
            "vector": [
                -0.009154141,
                0.018708462,
                . . . 
                -0.02178128,
                -0.00086512347
            ],
            "fields": "DescriptionVector",
            "kind": "vector",
            "k": 10
        }
    ],
    "search": "historic hotel walk to restaurants and shopping",
    "vectorFilterMode": "preFilter",
    "filter": "ParkingIncluded",
    "top": "10"
}

Puntos clave:

  • Los filtros se aplican al contenido de los campos filtrables. En este ejemplo, el campo ParkingIncluded es un valor booleano y se marca como filterable en el esquema de índice.

  • En las consultas híbridas, los filtros se pueden aplicar antes de la ejecución de consultas para reducir la superficie de consulta o después de la ejecución de la consulta para recortar los resultados. "preFilter" es el valor predeterminado. Para usar postFilter o strictPostFilter (versión preliminar), establezca el modo de procesamiento de filtros como se muestra en este ejemplo.

  • Cuando se posfiltran los resultados de la consulta, el número de resultados podría ser menor que el número superior n.

Referencia: filtro | modoVectorialFiltro

Ejemplo: Búsqueda híbrida con filtros que tienen como destino subconsultas vectoriales (versión preliminar)

Con la API REST de versión preliminar más reciente, puede invalidar un filtro global en la solicitud de búsqueda aplicando un filtro secundario que tenga como destino solo las subconsultas vectoriales en una solicitud híbrida.

Esta característica proporciona un control específico asegurándose de que los filtros solo influyen en los resultados de la búsqueda vectorial, lo que deja los resultados de búsqueda basados en palabras clave no afectados.

El filtro de destino reemplaza completamente al filtro global, incluidos los filtros utilizados para la segmentación de seguridad o la búsqueda geoespacial. En los casos en los que se requieren filtros globales, como el recorte de seguridad, debe incluir explícitamente estos filtros en el filtro de nivel superior y en cada filtro de nivel vectorial para garantizar que se apliquen de forma coherente la seguridad y otras restricciones.

Para aplicar filtros vectoriales dirigidos:

Este es un ejemplo de consulta híbrida que agrega una invalidación de filtro. El filtro global "Clasificación gt 3" se reemplaza en tiempo de ejecución por filterOverride.

POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version=2026-08-01-preview

{
    "vectorQueries": [
        {
            "vector": [
                -0.009154141,
                0.018708462,
                . . . 
                -0.02178128,
                -0.00086512347
            ],
            "fields": "DescriptionVector",
            "kind": "vector",
            "exhaustive": true,
            "filterOverride": "Address/City eq 'Seattle'",
            "k": 10
        }
    ],
    "search": "historic hotel walk to restaurants and shopping",
    "select": "HotelName, Description, Address/City, Rating",
    "filter": "Rating gt 3",
    "debug": "vector",
    "top": 10
}

Suponiendo que la definición de índice incluye una configuración semántica, puede formular una consulta que incluya búsqueda de vectores y búsqueda de palabras clave, con clasificación semántica sobre el conjunto de resultados combinado. Opcionalmente, puede agregar subtítulos y respuestas.

Siempre que use la clasificación semántica con vectores, asegúrese k de que está establecido en 50. El clasificador semántico usa hasta 50 coincidencias como entrada. Especificar menos de 50 priva a los modelos de clasificación semántica de las entradas necesarias.

POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version=2026-04-01
Content-Type: application/json
api-key: {{admin-api-key}}
{
    "vectorQueries": [
        {
            "vector": [
                -0.009154141,
                0.018708462,
                . . . 
                -0.02178128,
                -0.00086512347
            ],
            "fields": "DescriptionVector",
            "kind": "vector",
            "k": 50
        }
    ],
    "search": "historic hotel walk to restaurants and shopping",
    "select": "HotelName, Description, Tags",
    "queryType": "semantic",
    "semanticConfiguration": "my-semantic-config",
    "captions": "extractive",
    "answers": "extractive",
    "top": "50"
}

Puntos clave:

  • El clasificador semántico acepta hasta 50 resultados de la respuesta combinada.

  • Se requieren "queryType" y "semanticConfiguration".

  • Los "subtítulos" y "respuestas" son opcionales. Los valores se extraen del texto literal en los resultados. Solo se devuelve una respuesta si los resultados incluyen contenido que tiene las características de una respuesta a la consulta.

Referencia: queryType | semanticConfiguration | captions | answers

Ejemplo: Búsqueda híbrida semántica con filtro

En este ejemplo se agrega un ParkingIncluded filtro a una consulta híbrida semántica.

POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version=2026-04-01
Content-Type: application/json
api-key: {{admin-api-key}}
{
    "vectorQueries": [
        {
            "vector": [
                -0.009154141,
                0.018708462,
                . . . 
                -0.02178128,
                -0.00086512347
            ],
            "fields": "DescriptionVector",
            "kind": "vector",
            "k": 50
        }
    ],
    "search": "historic hotel walk to restaurants and shopping",
    "select": "HotelName, Description, Tags",
    "queryType": "semantic",
    "semanticConfiguration": "my-semantic-config",
    "captions": "extractive",
    "answers": "extractive",
    "filter": "ParkingIncluded",
    "vectorFilterMode": "preFilter",
    "top": "50"
}

Puntos clave:

  • El modo de filtro puede afectar al número de resultados disponibles para el clasificador semántico. Como procedimiento recomendado, asigne al clasificador semántico el número máximo de documentos (50). Si los prefiltro o posfiltro son demasiado selectivos, podrías privar al clasificador semántico de información al proporcionarle menos de 50 documentos con los que trabajar.

  • preFilter se aplica antes de la ejecución de la consulta. Si el prefiltro reduce el área de búsqueda a 100 documentos, la consulta vectorial se ejecuta sobre el campo DescriptionVector de los 100 documentos, devolviendo las 50 mejores coincidencias. Esos 50 documentos coincidentes pasan a RRF para obtener resultados combinados y, a continuación, al clasificador semántico.

  • postFilter se aplica después de la ejecución de la consulta. Si k=50 devuelve 50 coincidencias en el lado de la consulta vectorial, seguida de un filtro posterior aplicado a las 50 coincidencias, el número de documentos que cumplen los criterios de filtro reduce los resultados. Esto supone que tiene menos de 50 documentos que pasar al clasificador semántico. Tenga esto en cuenta si usa la clasificación semántica. El clasificador semántico funciona mejor si tiene 50 documentos como entrada.

  • strictPostFilter (versión preliminar) se aplica en los resultados principalesk sin filtrar después de la ejecución de la consulta. Siempre devuelve menos o igual que los documentos k. Si el k=50 sin filtrar devuelve 50 resultados sin filtrar y el filtro coincide con 30 documentos, solo se devuelven 30 documentos en el conjunto de resultados, aunque el índice tenga más de 30 documentos que coincidan con el filtro. Dado que este modo tiene la mayor reducción de la recuperación, no se recomienda usarlo con clasificador semántico.

Configuración de una respuesta de consulta

Al configurar la consulta híbrida, piense en la estructura de respuesta. El motor de búsqueda clasifica los documentos coincidentes y devuelve los resultados más relevantes. La respuesta es un conjunto de filas planas. Los parámetros de la consulta determinan qué campos están en cada fila y cuántas filas están en la respuesta.

Campos de una respuesta

Los resultados de la búsqueda se componen de retrievable campos del índice de búsqueda. Un resultado es:

  • Todos los retrievable campos (valor predeterminado de la API REST).
  • Campos enumerados explícitamente en un select parámetro de la consulta.

En los ejemplos de este artículo se utilizó una instrucción select para especificar campos de texto (nonvector) en la respuesta.

Nota

Los vectores no están diseñados de forma inversa en texto legible para humanos, por lo que evite devolverlos en la respuesta. En su lugar, elija campos no vectores que sean representativos del documento de búsqueda. Por ejemplo, si la consulta tiene como destino un campo "DescriptionVector", devuelva un campo de texto equivalente si tiene uno ("Descripción") en la respuesta.

Número de resultados

Una consulta puede coincidir con cualquier número de documentos, tantos como todos si los criterios de búsqueda son débiles (por ejemplo, "search=*" para una consulta nula). Dado que rara vez resulta práctico obtener resultados ilimitados, debe especificar un máximo para la respuesta general:

  • "top": n resultados para consultas de solo palabras clave (sin vector)
  • "k": n resultados para consultas de solo vector
  • "top": n resultados para consultas híbridas (con o sin semántica) que incluyen un parámetro "search"

Ambos k y top son opcionales. Sin especificar, el número predeterminado de resultados en una respuesta es 50. Puede definir top y skip en avanzar entre más resultados o cambiar el valor predeterminado.

Nota

Si usa la búsqueda híbrida en la API 2024-05-01-preview, puede controlar el número de resultados de la consulta de palabras clave mediante maxTextRecallSize. Combine esto con un ajuste para k para controlar la representación de cada subsistema de búsqueda (término de búsqueda y vector).

Resultados del clasificador semántico

Nota

El clasificador semántico puede manejar hasta 50 resultados.

Si usa el clasificador semántico en 01-05-2024 previo o posterior, se recomienda establecer k y maxTextRecallSize para sumar al menos 50 totales. A continuación, puede restringir los resultados devueltos al usuario con el top parámetro .

Si usa el clasificador semántico en una versión de API anterior a 2024-05-01-preview, siga estos pasos:

  • Para la búsqueda de solo palabras clave (sin vectores) establecida top en 50
  • Para la búsqueda híbrida establecida k en 50, para asegurarse de que el clasificador semántico obtiene al menos 50 resultados.

Clasificación

Se crean varios conjuntos para consultas híbridas, con o sin el reordenamiento semántico opcional. La clasificación de los resultados se calcula mediante la Fusión de Rango Recíproco (RRF).

En esta sección, compare las respuestas entre la búsqueda de vector único y la búsqueda híbrida simple para obtener el resultado superior. Los diferentes algoritmos de clasificación, la métrica de similitud de HNSW y RRF es este caso, producen puntuaciones que tienen diferentes magnitudes. Este comportamiento es por diseño. Las puntuaciones de RRF pueden parecer bastante bajas, incluso con una coincidencia de similitud alta. Las puntuaciones inferiores son una característica del algoritmo RRF. En una consulta híbrida con RRF, se incluye más de la recíproca de los documentos clasificados en los resultados, dada la puntuación relativamente más pequeña de los documentos clasificados de RRF, en lugar del vector de búsqueda puro.

Búsqueda de vectores únicos: @search.score para los resultados ordenados por similitud de coseno (función de distancia de similitud vectorial predeterminada).

{
    "@search.score": 0.8399121,
    "HotelId": "49",
    "HotelName": "Swirling Currents Hotel",
    "Description": "Spacious rooms, glamorous suites and residences, rooftop pool, walking access to shopping, dining, entertainment and the city center.",
    "Category": "Luxury",
    "Address": {
    "City": "Arlington"
    }
}

Búsqueda híbrida: @search.score para los resultados híbridos clasificados mediante fusión de clasificación recíproca.

{
    "@search.score": 0.032786883413791656,
    "HotelId": "49",
    "HotelName": "Swirling Currents Hotel",
    "Description": "Spacious rooms, glamorous suites and residences, rooftop pool, walking access to shopping, dining, entertainment and the city center.",
    "Category": "Luxury",
    "Address": {
    "City": "Arlington"
    }
}

Solución de problemas de consultas híbridas

Use la tabla siguiente para diagnosticar problemas comunes con consultas híbridas.

Problema Causa posible Resolución
Resultados vacíos Error de coincidencia de nombre de campo vectorial o datos de índice que faltan Verifique que fields en vectorQueries coincida con un campo vectorial en su esquema de índice. Compruebe que los documentos contienen datos vectoriales.
Puntuaciones bajas de RRF Comportamiento normal de RRF Las puntuaciones de RRF son intrínsecamente inferiores a las puntuaciones de similitud. Una puntuación de 0,03 todavía puede indicar una coincidencia fuerte.
Los resultados de vectores predominan La consulta de texto tiene un rendimiento inferior Aumente maxTextRecallSize para incluir más resultados BM25 o ajuste la ponderación de vectores.
Los resultados de texto dominan Similitud de vectores demasiado baja Compruebe la calidad de la inserción. Asegúrese de que el vector de consulta usa el mismo modelo que los vectores de documento.
El clasificador semántico devuelve menos resultados Documentos de entrada insuficientes Establezca k en al menos 50 cuando use la clasificación semántica. Compruebe que los filtros no son demasiado restrictivos.
Filtro no aplicado a vectores Usar solo filtro global Para el filtrado específico del vector, use filterOverride en la consulta vectorial (versión preliminar).
Campo inesperado en los resultados select falta el parámetro Agregue select para especificar qué campos se van a devolver. Excluya los campos vectoriales para mejorar la legibilidad.