Consultando na Pesquisa de IA do Azure

O Azure AI Search dá suporte a construções de consulta para uma ampla gama de cenários, desde a pesquisa de texto de forma livre até padrões de consulta altamente especificados e a pesquisa vetorial. Todas as consultas são executadas em um índice de pesquisa que armazena conteúdo pesquisável.

Tipos de consultas

Formulário de consulta Conteúdo pesquisável Description
Pesquisa de texto completo Índices invertidos de termos tokenizados. As consultas de texto completo iteram sobre índices invertidos que são estruturados para verificações rápidas, onde uma correspondência pode ser encontrada em potencialmente qualquer campo, dentro de qualquer número de documentos de pesquisa. O texto é analisado e tokenizado para pesquisa de texto completo.
Pesquisa vetorial Índices vetoriais de incorporações geradas. As consultas vetoriais iteram sobre campos vetoriais em um índice de pesquisa.
Pesquisa híbrida Todos os itens acima, em um único índice de pesquisa. Combina pesquisa de texto e pesquisa vetorial em uma única solicitação de consulta. A pesquisa de texto funciona em conteúdo de texto simples nos campos "pesquisável" e "filtrável". A pesquisa vetorial funciona em conteúdo em campos vetoriais.
Outros Texto simples e conteúdo alfanumérico. Conteúdo bruto, extraído literalmente de documentos de origem, filtros de suporte e consultas de correspondência de padrões, como pesquisa geoespacial, pesquisa difusa e pesquisa em campo.

Este artigo traz o foco para a última categoria: consultas que funcionam em texto simples e conteúdo alfanumérico, extraído intacto da fonte original, usado para filtros e outros formulários de consulta especializados.

Preenchimento automático e consultas sugeridas

O preenchimento automático ou os resultados sugeridos são alternativas para search disparar solicitações de consulta sucessivas com base em entradas parciais de cadeia de caracteres (após cada caractere) em uma experiência de pesquisa conforme você digita. Você pode usar autocomplete e suggestions parametrizar juntos ou separadamente, conforme descrito neste passo a passo, mas não pode usá-los com searcho . Tanto os termos concluídos quanto as consultas sugeridas são derivados do conteúdo do índice. O mecanismo nunca retorna uma cadeia de caracteres ou sugestão que é inexistente em seu índice. Para obter mais informações, consulte Preenchimento automático (API REST) e Sugestões (API REST).

Os filtros são amplamente utilizados em aplicações baseadas no Azure AI Search. Nas páginas de aplicativos, os filtros geralmente são visualizados como facetas em estruturas de navegação de links para filtragem direcionada ao usuário. Os filtros também são usados internamente para expor fatias de conteúdo indexado. Por exemplo, você pode inicializar uma página de pesquisa usando um filtro em uma categoria de produto ou um idioma se um índice contiver campos em inglês e francês.

Você também pode precisar de filtros para invocar um formulário de consulta especializado, conforme descrito na tabela a seguir. Você pode usar um filtro com uma pesquisa não especificada (search=*) ou com uma cadeia de caracteres de consulta que inclua termos, frases, operadores e padrões.

Cenário de filtro Description
Filtros de gama No Azure AI Search, as consultas de intervalo são criadas usando o parâmetro filter. Para obter mais informações e exemplos, consulte Exemplo de filtro de intervalo.
Navegação por facetas Na árvore de navegação facetada, os usuários podem selecionar facetas. Quando apoiados por filtros, os resultados da pesquisa diminuem a cada clique. Cada faceta é apoiada por um filtro que exclui documentos que já não correspondem aos critérios fornecidos pela faceta.

Nota

O texto usado em uma expressão de filtro não é analisado durante o processamento da consulta. Presume-se que a entrada de texto seja um padrão de caractere literal que diferencia maiúsculas de minúsculas que é bem-sucedido ou falha na correspondência. As expressões de filtro são construídas usando a sintaxe OData e passadas em um filter parâmetro em todos os campos filtráveis no índice. Para obter mais informações, consulte Filtros no Azure AI Search.

A pesquisa geoespacial corresponde às coordenadas de latitude e longitude de um local para "encontrar perto de mim" ou experiência de pesquisa baseada em mapa. No Azure AI Search, você pode implementar a pesquisa geoespacial seguindo estas etapas:

A pesquisa geoespacial utiliza quilómetros para distância. As coordenadas são especificadas neste formato: (longitude, latitude).

Aqui está um exemplo de um filtro para pesquisa geoespacial. Este filtro encontra outros Location campos no índice de pesquisa que têm coordenadas num raio de 300 quilómetros do ponto geográfico (neste exemplo, Washington D.C.). Ele retorna informações de endereço no resultado e inclui uma cláusula opcional facets para autonavegação com base na localização.

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2023-07-01-Preview
{
    "count": true,
    "search": "*",
    "filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
    "facets": [ "Address/StateProvince"],
    "select": "HotelId, HotelName, Address/StreetAddress, Address/City, Address/StateProvince",
    "top": 7
}

Para obter mais informações e exemplos, consulte Exemplo de pesquisa geoespacial.

Pesquisa de documentos

Em contraste com os formulários de consulta descritos anteriormente, este recupera um único documento de pesquisa por ID, sem pesquisa ou verificação de índice correspondente. Apenas um documento é solicitado e devolvido. Quando um usuário seleciona um item nos resultados da pesquisa, recuperar o documento e preencher uma página de detalhes com campos é uma resposta típica, e uma pesquisa de documento é a operação que oferece suporte a ele.

Pesquisa avançada: fuzzy, wildcard, proximity, regex

Um formulário de consulta avançado depende do analisador Lucene completo e dos operadores que acionam um comportamento de consulta específico.

Tipo de consulta Utilização Exemplos e mais informações
Pesquisa em campo search parâmetro, queryType=full Crie uma expressão de consulta composta direcionada a um único campo.
Exemplo de pesquisa em campo
pesquisa difusa search parâmetro, queryType=full Correspondências em termos com uma construção ou ortografia semelhante.
Exemplo de pesquisa difusa
Pesquisa de proximidade search parâmetro, queryType=full Localiza termos próximos uns dos outros em um documento.
Exemplo de pesquisa de proximidade
reforço a termo search parâmetro, queryType=full Classifica um documento mais alto se ele contiver o termo impulsionado, em relação a outros que não contêm.
Exemplo de reforço de termos
Pesquisa de expressões regulares search parâmetro, queryType=full Corresponde com base no conteúdo de uma expressão regular.
Exemplo de expressão regular
Pesquisa de curinga ou prefixo search parâmetro com *~ ou ?, queryType=full Corresponde com base em um prefixo e til () ou caractere único (~?).
Exemplo de pesquisa curinga

Próximos passos

Para ver mais detalhadamente a implementação da consulta, revise os exemplos de cada sintaxe. Se você é novo na pesquisa de texto completo, uma olhada mais de perto no que o mecanismo de consulta faz pode ser uma boa escolha.