Aplicar filtragem e classificação

Concluído

É comum em uma solução de pesquisa que os usuários queiram refinar os resultados da consulta filtrando e classificando com base em valores de campo. O Azure AI Search dá suporte a esses dois recursos por meio da API de consulta de pesquisa.

Filtrar os resultados

Você pode aplicar filtros a consultas de duas maneiras:

  • Incluindo critérios de filtro em uma expressão de pesquisa simples.
  • Fornecendo uma expressão de filtro OData como um parâmetro $filter com uma expressão de pesquisa de sintaxe completa .

Você pode aplicar um filtro a qualquer campo filtrável no índice.

Por exemplo, suponha que você queira encontrar documentos contendo o texto Londres que tenham um valor de campo autor de Revisor.

Você pode obter esse resultado enviando a seguinte expressão de pesquisa simples:

search=London+author='Reviewer'
queryType=Simple

Como alternativa, você pode usar um filtro OData em um parâmetro $filter com uma expressão de pesquisa Lucene completa como esta:

search=London
$filter=author eq 'Reviewer'
queryType=Full

Gorjeta

As expressões OData $filter diferenciam maiúsculas de minúsculas!

Filtragem com facetas

As facetas são uma maneira útil de apresentar aos usuários critérios de filtragem baseados em valores de campo em um conjunto de resultados. Eles funcionam melhor quando um campo tem um pequeno número de valores discretos que podem ser exibidos como links ou opções na interface do usuário.

Para usar facetas, você deve especificar campos de tabela facial para os quais deseja recuperar os valores possíveis em uma consulta inicial. Por exemplo, você pode usar os seguintes parâmetros para retornar todos os valores possíveis para o campo autor :

search=*
facet=author

Os resultados dessa consulta incluem uma coleção de valores de facetas discretas que você pode exibir na interface do usuário para o usuário selecionar. Em seguida, em uma consulta subsequente, você pode usar o valor de faceta selecionado para filtrar os resultados:

search=*
$filter=author eq 'selected-facet-value-here'

Ordenar resultados

Por padrão, os resultados são classificados com base na pontuação de relevância atribuída pelo processo de consulta, com as correspondências de pontuação mais alta listadas primeiro. No entanto, você pode substituir essa ordem de classificação incluindo um parâmetro orderby OData que especifica um ou mais campos classificáveis e uma ordem de classificação (asc ou desc).

Por exemplo, para classificar os resultados para que os documentos modificados mais recentemente sejam listados primeiro, você pode usar os seguintes valores de parâmetro:

search=*
$orderby=last_modified desc

Nota

Para obter mais informações sobre como usar filtros, consulte Filtros no Azure AI Search. Para obter informações sobre como trabalhar com resultados, incluindo classificação e realce de cliques, consulte Como trabalhar com resultados de pesquisa no Azure AI Search.