Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
Uma subscrição do Azure. Crie um gratuitamente.
Um serviço Pesquisa de IA do Azure. Criar um serviço ou encontrar um serviço existente.
Um índice de pesquisa contendo
searchablecampos vetoriais e não vetoriais. Recomendamos o assistente de importação de dados para criar rapidamente um índice. Caso contrário, veja Criar um índice e Adicionar campos vetoriais a um índice de pesquisa.Permissões: Precisa do Search Index Data Reader para consultar um índice. Para criar ou atualizar um índice, precisa do Search Index Data Contributor. Para mais informações, consulte Conectar usando funções.
(Opcional) Instalação do SDK:
- Python:
pip install azure-search-documents - C#:
dotnet add package Azure.Search.Documents
- Python:
(Opcional) Se quiseres conversão incorporada de texto para vetor de uma cadeia de consulta, cria e atribui um vetorizador aos campos vetoriais no índice de pesquisa.
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
kentre 30 e 50,topentre 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
maxTextRecallSizegradualmente 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
ketopmodestos, 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:
- Primeiro, reduza as configurações dispendiosas de pesquisa vetorial.
Por exemplo, se
efSearchemaxConnectionsestiverem definidos de forma agressiva, baixe-os antes de escalar (por exemplo, reduzaefSearchde cerca de 800 para 128 para 192, e reduzamaxConnectionsde 64 para 32). - Limite o âmbito da reclassificação semântica aos casos que dela beneficiam.
- Voltar a testar a latência e as taxas de 429 sob carga representativa.
- 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.
Vá ao seu serviço de pesquisa no portal Azure.
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.
Em Vista, mude para a vista JSON para poderes colar uma consulta vetorial.
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 emvectorQueries.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 } ] }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.
Aqui está outra versão da questão. Este acrescenta um
countpara o número de correspondências encontradas, umselectparâmetro para escolher campos específicos e umtopparâ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
kdocumentos devolvidos pela consulta vetorial. - Numa consulta híbrida, as facetas contabilizam tanto os resultados vetoriais como os de texto. A componente vetorial fornece os
kdocumentos mais próximos. A componente de texto fornece documentos ordenados segundo o BM25. O parâmetrocountAndFacetMode(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.
Use Pesquisa - POST (pré-visualização) ou Pesquisa - GET (pré-visualização) para especificar os parâmetros de pré-visualização.
Adicione um
hybridSearchobjeto 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:maxTextRecallSizeespecifica 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.countAndFacetModeindica 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 damaxTextRecallSizejanela. UtilizecountRetrievableResultspara restringir a contagem e as facetas aos documentos obtidos para classificação, incluindo os documentos classificados por BM25maxTextRecallSizee as correspondências vetoriaisk.
Definir
maxTextRecallSize:Reduzir
maxTextRecallSizese a pesquisa por similaridade vetorial estiver geralmente a superar a parte textual da consulta híbrida.Aumente
maxTextRecallSizese 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 definirtop,skip, enextpara 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
filterableno 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 usarpostFilteroustrictPostFilter(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:
Use a latest preview Search Documents REST API ou um pacote beta do SDK do Azure que oferece essa funcionalidade.
Modificar um pedido de consulta, adicionando um novo
vectorQueries.filterOverrideconjunto de parâmetros a uma expressão de filtro OData.
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
}
Exemplo: pesquisa híbrida semântica
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 campoDescriptionVectordesses 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-knão filtrados após a execução da consulta. Devolve sempre menos ou igual aoskdocumentos. 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
selectparâ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": nResultados para consultas apenas por palavras-chave (sem vetor) -
"k": nResultados para consultas apenas vetoriais -
"top": nresultados 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
toppara 50 - Para pesquisa híbrida, definido
kpara 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. |
Conteúdo relacionado
- Visão geral da pesquisa híbrida
- Classificação híbrida de pesquisa com RRF
- Como fazer pesquisa vetorial
- Classificação semântica
- Filtros de pesquisa vetorial
- Revise o código demo vetorial para Python, C# ou JavaScript