Aplicação de filtragem e classificação

Concluído

É comum em uma solução de pesquisa que os usuários desejem refinar os resultados da consulta filtrando e classificando com base nos valores de campo. A Pesquisa de IA do Azure dá suporte para essas duas funcionalidades através da API de consulta de pesquisa.

Filtrando os resultados

Você pode aplicar filtros a consultas de duas maneiras:

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

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

Por exemplo, suponha que você queira localizar documentos que contenham o texto Londres que tenha o valor do campo autor igual a Revisor.

Você pode obter esse resultado enviando a seguinte expressão search simple:

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 full como esta:

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

Dica

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

Como filtrar com facetas

As facetas são um modo útil de apresentar aos usuários critérios de filtragem com base em valores de campo em um conjunto de resultados. Elas 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ê precisa especificar campos com faceta para os quais você 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 faceta discretos que você pode exibir na interface do usuário para serem selecionados por ele. 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'

Classificando 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 altas listadas primeiro. No entanto, você pode substituir essa ordem de classificação, incluindo um parâmetro OData orderby que especifica um ou mais campos classificáveis e uma ordem de classificação (asc ou desc).

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

search=*
$orderby=last_modified desc

Observação

Para obter mais informações sobre o uso de filtros, consulte Filtros na Pesquisa de IA do Azure. Para obter informações sobre como trabalhar com resultados, incluindo classificação e realce de cliques, confira Como trabalhar com resultados de pesquisa na Pesquisa de IA do Azure.