Crie uma consulta híbrida no Pesquisa de IA do Azure

Nota

O Pesquisa de IA do Azure está disponível através do portal Azure, APIs REST e SDKs do Azure. Também sustenta o Foundry IQ, a camada de conhecimento gerida que transforma conteúdos empresariais em bases de conhecimento reutilizáveis e conscientes de permissões para agentes no portal Microsoft Foundry.

Importante

Funcionalidades, capacidades ou propriedades assinaladas (pré-visualização) não são abrangidas por um acordo de nível de serviço, não são recomendadas para cargas de trabalho em produção e podem mudar ou ser limitadas antes de se tornarem geralmente disponíveis. Os termos de pré-visualização do Pesquisa de IA do Azure aplicam-se a todas as funcionalidades de pré-visualização, sejam independentes ou parte de uma funcionalidade geralmente disponível.

A pesquisa híbrida combina texto (palavra-chave) e consultas vetoriais num único pedido de pesquisa. Ambas as consultas são executadas em paralelo. Os resultados são fundidos e reordenados por novas pontuações de pesquisa, usando a Fusão de Classificação Recíproca (RRF) para devolver um conjunto unificado de resultados. Em muitos casos, segundo testes de benchmark, consultas híbridas com classificação semântica retornam os resultados mais relevantes.

Neste artigo, aprenda como:

  • Configurar um pedido híbrido básico
  • Adicionar parâmetros e filtros
  • Melhorar a relevância usando classificações semânticas ou pesos vetoriais
  • Otimizar comportamentos de consulta controlando entradas (maxTextRecallSize)

No final deste artigo, pode executar consultas híbridas que combinam pesquisa por palavras-chave e vetorial com uma classificação semântica opcional.

Pré-requisitos

Escolha uma API, ferramenta e padrão funcional

  • O Search Explorer no portal do Azure (suporta sintaxe de pesquisa API estável e de pré-visualização) tem uma vista JSON que permite colar um pedido híbrido.

  • Pacotes estáveis ou de pré-visualização mais recentes dos SDKs do Azure (ver registos de alterações para suporte a funcionalidades do SDK).

  • APIs REST estáveis ou uma versão recente da API de pré-visualização se estiveres a usar funcionalidades de pré-visualização como maxTextRecallSize e countAndFacetMode (pré-visualização).

    Para legibilidade, usamos exemplos REST para explicar como funcionam as APIs. Podes usar um cliente REST como o Visual Studio Code com a extensão REST para construir consultas híbridas. Também podes usar os SDKs do Azure. Para mais informações, consulte Quickstart: Pesquisa vetorial.

Padrões híbridos funcionais

Se é novo na pesquisa híbrida, escolha um modelo e ajuste em pequenos passos. Não comeces com recuperação vetorial máxima, recuperação de texto extenso e reranqueamento semântico no mesmo pedido.

  • Híbrido equilibrado (por defeito): Use este primeiro para a maioria das cargas de trabalho. Comece com k entre 30 e 50, top entre 10 e 20, e ative o ranqueamento semântico apenas quando melhorar a relevância medida.

  • Híbrido de recall-first: Utilize-o para consultas difíceis em que a cobertura é o objetivo. Aumenta maxTextRecallSize gradualmente e mantém as definições de vetores moderadas. Espera um custo de fusão mais elevado.

  • Híbrido com prioridade para precisão: Use isto para baixa latência em escala. Mantenha k e top modestos, aplique filtros seletivos e evite características semânticas que não acrescentam valor.

Porque é que as consultas sobrecarregadas aceleram

Consultas híbridas executam a recuperação de texto e vetores em paralelo e depois fundem os resultados com o RRF. Se aumentares a contribuição lexical (por exemplo, mudando o peso híbrido a favor do BM25), aumentas o número de candidatos a texto que devem ser fundidos com candidatos vetoriais. Se combinarmos isto com definições vetoriais caras e reclassificação semântica, a pressão da CPU e da memória aumenta rapidamente.

Em configurações de menor capacidade, este trabalho extra de fusão e reclassificação pode causar:

  • Maior latência e picos p95/p99
  • 429 respostas de estrangulamento
  • Pedidos interrompidos ou com tempo esgotado observados pelo cliente quando o comportamento de repetição não está configurado

Ordem de ajuste antes de ampliar

Ajuste as definições de consulta e vetores antes de adicionar réplicas:

  1. Primeiro, reduza as configurações dispendiosas de pesquisa vetorial. Por exemplo, se efSearch e maxConnections estiverem definidos de forma agressiva, baixe-os antes de escalar (por exemplo, reduza efSearch de cerca de 800 para 128 para 192, e reduza maxConnections de 64 para 32).
  2. Limite o âmbito da reclassificação semântica aos casos que dela beneficiam.
  3. Voltar a testar a latência e as taxas de 429 sob carga representativa.
  4. Escalonar réplicas apenas caso a limitação persista após o ajuste.

Use esta sequência para melhorar a estabilidade primeiro e controlar o custo antes de escalar.

Configurar uma consulta híbrida

Esta secção explica a estrutura básica de uma consulta híbrida e como configurá-la quer no Explorador de Pesquisa, quer para execução num cliente REST.

Os resultados são devolvidos em texto simples, incluindo vetores em campos marcados como retrievable. Como os vetores numéricos não são úteis nos resultados de pesquisa, escolha outros campos no índice como proxy para a correspondência vetorial. Por exemplo, se um índice tiver campos "descriptionVector" e "descriptionText", a consulta pode corresponder a "descriptionVector", mas o resultado da pesquisa pode mostrar "descriptionText". Use o select parâmetro para especificar apenas campos legíveis por humanos nos resultados.

  1. Vá ao seu serviço de pesquisa no portal Azure.

  2. Em Gestão de Pesquisa>Indexes, selecione um índice que tenha vetores e conteúdo não vetorial. O Explorador de Pesquisa é a primeira aba.

  3. Em Vista, mude para a vista JSON para poderes colar uma consulta vetorial.

  4. Substitua o modelo de consulta padrão por um query híbrido. Uma consulta híbrida básica tem uma consulta de texto especificada em search, e uma consulta vetorial especificada em vectorQueries.vector. A consulta de texto e a consulta vetorial podem ser equivalentes ou divergentes, mas é comum partilharem a mesma intenção.

    Este exemplo vem do quickstart vetorial que tem conteúdo vetorial e não vetorial, e vários exemplos de consultas. Para brevidade, o vetor é truncado neste artigo.

    {
        "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. Selecionar Pesquisar.

    Dica

    Os resultados da pesquisa são mais fáceis de ler se esconderes os vetores. Nas Opções de Consulta, ative Ocultar valores vetoriais nos resultados de pesquisa.

  6. Aqui está outra versão da questão. Este acrescenta um count para o número de correspondências encontradas, um select parâmetro para escolher campos específicos e um top parâmetro para devolver os sete melhores 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
             }
         ]
     }
    

Definir maxTextRecallSize e countAndFacetMode (pré-visualização)

Uma consulta híbrida pode ser ajustada para controlar quanto de cada subconsulta contribui para os resultados combinados. Definir o parâmetro maxTextRecallSize (pré-visualização) especifica quantos resultados classificados por BM25 são passados para o modelo de classificação híbrida.

Se o seu pedido incluir facetas, use campos não vetoriais que estejam marcados como facetable no índice. Os campos vetoriais não são facetáveis.

A contagem de facetas depende do tipo de consulta:

  • Numa consulta só de texto, as facetas contam os documentos que correspondem à consulta textual.
  • Numa consulta apenas vetorial, as facetas contam os k documentos devolvidos pela consulta vetorial.
  • Numa consulta híbrida, as facetas contabilizam tanto os resultados vetoriais como os de texto. A componente vetorial fornece os k documentos mais próximos. A componente de texto fornece documentos ordenados segundo o BM25. O parâmetro countAndFacetMode (pré-visualização) determina se os cálculos de contagem e de facetas utilizam todas as correspondências de texto ou apenas as correspondências de texto recuperadas para efeitos de classificação.

Se usares maxTextRecallSize, talvez também queiras definir countAndFacetMode. Este parâmetro determina se count e facets inclui todos os documentos que correspondem à consulta de texto, ou apenas os documentos recuperados dentro da maxTextRecallSize janela. O valor predefinido é countAllResults.

Com o modo predefinido countAllResults, as contagens e as facetas podem incluir documentos da vertente textual que não são recuperados para a ordenação RRF, porque ficam fora da janela maxTextRecallSize. Aumentar maxTextRecallSize aumenta o número de documentos ordenados por BM25 disponíveis para ordenação, mas não aumenta o contributo vetorial para além de k. Utilize countRetrievableResults se pretender cálculos de contagem e de facetas limitados aos documentos obtidos para classificação híbrida.

Recomendamos a API REST de pré-visualização mais recente para definir estas opções.

Dica

Outra abordagem para o ajuste híbrido de consultas é a ponderação vetorial, usada para aumentar a importância das consultas vetoriais no pedido.

  1. Use Pesquisa - POST (pré-visualização) ou Pesquisa - GET (pré-visualização) para especificar os parâmetros de pré-visualização.

  2. Adicione um hybridSearch objeto de parâmetro de consulta para definir o número máximo de documentos recordados através dos resultados classificados pelo BM25 de uma consulta híbrida. Tem duas propriedades:

    • maxTextRecallSize especifica o número de resultados classificados pelo BM25 a fornecer ao classificador Reciprocal Rank Fusion (RRF) utilizado em consultas híbridas. O padrão é 1.000. O máximo é 10.000.

    • countAndFacetMode indica a contagem e o escopo das facetas para uma consulta híbrida. O padrão, countAllResults, usa o conjunto de resultados híbrido completo, incluindo todos os documentos que correspondem à consulta de texto, mesmo que algumas dessas correspondências de texto não sejam recuperadas para a classificação RRF porque ficam fora da maxTextRecallSize janela. Utilize countRetrievableResults para restringir a contagem e as facetas aos documentos obtidos para classificação, incluindo os documentos classificados por BM25 maxTextRecallSize e as correspondências vetoriais k.

  3. Definir maxTextRecallSize:

    • Reduzir maxTextRecallSize se a pesquisa por similaridade vetorial estiver geralmente a superar a parte textual da consulta híbrida.

    • Aumente maxTextRecallSize se tiver um índice grande e a definição padrão não estiver a captar um número suficiente de resultados. Com um conjunto de resultados maior classificado pelo BM25, também pode definir top, skip, e next para recuperar partes desses resultados.

Os seguintes exemplos de REST mostram dois casos de uso para definir maxTextRecallSize.

O primeiro exemplo reduz-se maxTextRecallSize a 100, limitando o lado de texto da consulta híbrida a apenas 100 documentos. Também define countAndFacetMode para incluir apenas documentos recuperáveis nos cálculos de contagem e de 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" 
      } 
    } 

O segundo exemplo aumenta maxTextRecallSize para 5.000. Também utiliza top, skip e next para extrair resultados de grandes conjuntos de resultados. Neste caso, o pedido recolhe resultados classificados por BM25, desde a posição 1.500 até à 2.000, como contribuição da consulta textual para o conjunto de resultados composto do 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" 
      } 
    } 

Referência: hybridSearch | maximoTamanhoRecordarTexto | contarEModoDeFaceta

Exemplos de consultas híbridas

Esta secção contém múltiplos exemplos de consultas que ilustram padrões híbridos de consulta.

Exemplo: pesquisa híbrida com filtro

Este exemplo adiciona um filtro, que é aplicado aos filterable campos não vetoriais do índice de pesquisa.

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"
}

Pontos-chave:

  • Os filtros são aplicados ao conteúdo dos campos filtráveis. Neste exemplo, o campo ParkingIncluded é um booleano e está marcado como filterable no esquema de índice.

  • Em consultas híbridas, filtros podem ser aplicados antes da execução da consulta para reduzir a superfície da consulta ou após a execução da consulta para eliminar resultados. "preFilter" é o padrão. Para usar postFilter ou strictPostFilter (pré-visualização), defina o modo de processamento do filtro como mostrado neste exemplo.

  • Quando pós-filtras os resultados das consultas, o número de resultados pode ser inferior ao top-n.

Referência: filter | vectorFilterMode

Exemplo: pesquisa híbrida com filtros direcionados a subconsultas vetoriais (pré-visualização)

Usando a API REST de pré-visualização mais recente, pode sobrescrever um filtro global no pedido de pesquisa aplicando um filtro secundário que direciona apenas as subconsultas vetoriais num pedido híbrido.

Esta funcionalidade proporciona controlo detalhado, garantindo que os filtros influenciam apenas os resultados da pesquisa vetorial, deixando os resultados baseados em palavras-chave inalterados.

O filtro direcionado sobrepõe-se totalmente ao filtro global, incluindo quaisquer filtros usados para corte de segurança ou pesquisa geoespacial. Em casos em que são necessários filtros globais, como o corte de segurança, deve incluir explicitamente estes filtros tanto no filtro de topo como em cada filtro de nível vetorial para garantir que as restrições de segurança e outras são aplicadas de forma consistente.

Para aplicar filtros vetoriais direcionados:

Aqui está um exemplo de consulta híbrida que adiciona uma substituição de filtro. O filtro global "Rating gt 3" é substituído em tempo de execução pelo 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
}

Assumindo que a sua definição de índice inclui uma configuração semântica, pode formular uma consulta que inclua pesquisa vetorial e pesquisa por palavras-chave, com classificação semântica sobre o conjunto de resultados fundidos. Opcionalmente, pode adicionar legendas e respostas.

Sempre que usares a classificação semântica com vetores, certifica-te de k que está definido para 50. O ranker semântico usa até 50 partidas como entrada. Especificar menos de 50 priva os modelos semânticos de classificação das entradas necessárias.

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"
}

Pontos-chave:

  • O ranker semântico aceita até 50 resultados da resposta combinada.

  • "queryType" e "semanticConfiguration" são necessários.

  • "legendas" e "respostas" são opcionais. Os valores são extraídos do texto literal nos resultados. Uma resposta só é devolvida se os resultados incluírem conteúdo com as características de uma resposta à consulta.

Referência: queryType | configuraçãoSemântica | legendas | respostas

Exemplo: pesquisa híbrida semântica com filtro

Este exemplo adiciona um ParkingIncluded filtro a uma 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"
}

Pontos-chave:

  • O modo filtro pode afetar o número de resultados disponíveis para o classificador semântico. Como boa prática, atribui ao classificador semântico o número máximo de documentos (50). Se os pré-filtros ou pós-filtros forem demasiado seletivos, pode prejudicar o classificador semântico ao fornecer-lhe menos de 50 documentos com que trabalhar.

  • preFilter é aplicado antes da execução da consulta. Se o processo de pré-filtragem reduzir a área de pesquisa para 100 documentos, a consulta vetorial é executada sobre o campo DescriptionVector desses 100 documentos, retornando as 50 melhores correspondências. Esses 50 documentos correspondentes passam depois para o RRF para resultados combinados, e depois para o classificador semântico.

  • postFilter é aplicado após a execução da consulta. Se k=50 devolver 50 correspondências do lado da consulta vetorial, seguidas de um filtro pós-aplicado às 50 correspondências, os seus resultados são reduzidos pelo número de documentos que cumprem os critérios do filtro. Isto deixa-te com menos de 50 documentos para passar ao ranker semântico. Tenha isto em mente se estiver a usar a classificação semântica. O ranker semântico funciona melhor se tiver 50 documentos como entrada.

  • strictPostFilter (visualização prévia) é aplicada nos resultados top-k não filtrados após a execução da consulta. Devolve sempre menos ou igual aos k documentos. Se o k=50 não filtrado devolver 50 resultados não filtrados, e o filtro corresponder a 30 documentos, apenas 30 documentos são devolvidos no conjunto de resultados, mesmo que o índice tenha mais de 30 documentos que correspondam ao filtro. Como este modo apresenta a maior perda de recall, não recomendamos que o use com o ranker semântico.

Configurar uma resposta de consulta

Quando estiver a configurar a consulta híbrida, pense na estrutura das respostas. O motor de busca classifica os documentos correspondentes e devolve os resultados mais relevantes. A resposta é um conjunto de linhas achatadas. Os parâmetros da consulta determinam quais os campos em cada linha e quantas linhas há na resposta.

Campos numa resposta

Os resultados de pesquisa são compostos por retrievable campos do seu índice de pesquisa. Um resultado é ou:

  • Todos os campos retrievable (padrão da API REST).
  • Campos explicitamente listados num select parâmetro na consulta.

Os exemplos neste artigo usaram uma select afirmação para especificar campos de texto (não vetoriais) na resposta.

Nota

Os vetores não são retroengenheirados em texto legível por humanos, por isso evite devolvê-los na resposta. Em vez disso, escolha campos não vetoriais que sejam representativos do documento de pesquisa. Por exemplo, se a consulta tiver como alvo um campo "DescriptionVector", devolve um campo de texto equivalente se tiver um ("Description") na resposta.

Número de resultados

Uma consulta pode corresponder a qualquer número de documentos, até a todos eles se os critérios de pesquisa forem fracos (por exemplo, "search=*" para uma consulta nula). Como raramente é prático devolver resultados ilimitados, deve especificar um máximo para a resposta global:

  • "top": n Resultados para consultas apenas por palavras-chave (sem vetor)
  • "k": n Resultados para consultas apenas vetoriais
  • "top": n resultados para consultas híbridas (com ou sem semântica) que incluem um parâmetro de "pesquisa"

Ambos k e top são opcionais. Não especificado, o número padrão de resultados numa resposta é 50. Pode definir top e skipnavegar por mais resultados ou alterar o padrão.

Nota

Se estiver a usar pesquisa híbrida na API de pré-visualização de 2024-05-01, pode controlar o número de resultados da consulta de palavras-chave usando maxTextRecallSize. Combine isto com uma configuração em k para controlar a representação de cada subsistema de pesquisa (palavra-chave e vetor).

Resultados do classificadorde semântica

Nota

O ranker semântico pode aceitar até 50 resultados.

Se estiver a usar o classificador semântico na versão 2024-05-01-preview ou posterior, é uma boa prática definir k e maxTextRecallSize para que somem pelo menos 50 no total. Pode então restringir os resultados devolvidos ao utilizador com o top parâmetro.

Se estiver a usar o ranker semântico numa versão da API anterior à pré-visualização de 2024-05-01, siga estes passos:

  • Para pesquisa apenas por palavras-chave (sem vetores), definido top para 50
  • Para pesquisa híbrida, definido k para 50, para garantir que o ranker semântico obtém pelo menos 50 resultados.

Classificação

São criados múltiplos conjuntos para consultas híbridas, com ou sem a reclassificação semântica opcional. A classificação dos resultados é calculada pela Fusão de Classificação Recíproca (RRF).

Nesta secção, compare as respostas entre pesquisa vetorial única e pesquisa híbrida simples para obter o resultado principal. Os diferentes algoritmos de classificação, a métrica de similaridade do HNSW e o RRF neste caso, produzem pontuações com magnitudes diferentes. Este comportamento é intencional. As pontuações RRF podem parecer bastante baixas, mesmo com uma combinação de alta semelhança. Pontuações mais baixas são uma característica do algoritmo RRF. Numa consulta híbrida com o RRF, mais do recíproco dos documentos ranqueados é incluído nos resultados, dado o pontuação relativamente menor dos documentos classificados pelo RRF, ao contrário da pesquisa vetorial pura.

Pesquisa por Vetores Únicos: @search.score para resultados ordenados por similaridade de cosseno (função de distância padrão por similaridade vetorial).

{
    "@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"
    }
}

Pesquisa Híbrida: @search.score para resultados híbridos classificados usando Fusão de Classificação 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"
    }
}

Resolução de problemas de consultas híbridas

Use a tabela seguinte para diagnosticar problemas comuns com consultas híbridas.

Problema Causa possível Resolução
Resultados vazios Incompatibilidade do nome do campo vetorial ou dados de índice em falta Verifique fields em vectorQueries que corresponde a um campo vetorial no seu esquema de índice. Verifique se os documentos contêm dados vetoriais.
Pontuações RRF baixas Comportamento normal dos RRF As pontuações RRF são inerentemente mais baixas do que as pontuações de semelhança. Uma pontuação de 0,03 pode ainda indicar um jogo forte.
Os resultados vetoriais dominam Consulta de texto com desempenho inferior Aumentar maxTextRecallSize para incluir mais resultados do BM25, ou ajustar a ponderação vetorial.
Os resultados do texto dominam Similaridade vetorial demasiado baixa Verifica a qualidade da incorporação. Garantir que o vetor de consulta utiliza o mesmo modelo que os vetores de documentos.
O ranker semântico retorna menos resultados Documentos de entrada insuficientes Defina k para pelo menos 50 ao usar a classificação semântica. Verifica se os filtros não são demasiado restritivos.
Filtro não aplicado a vetores Usando apenas filtro global Para filtragem específica de vetores, use filterOverride na consulta vetorial (pré-visualização).
Campo inesperado nos resultados select parâmetro em falta Adicionar select para especificar quais campos devolver. Exclua campos vetoriais para legibilidade.