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.
Os resultados de uma consulta incluem as linhas retornadas pela consulta e um valor de classificação para cada linha se a coluna de classificação estiver incluída na cláusula SELECT. Os valores de classificação são calculados pelo mecanismo de pesquisa e são retornados como inteiros no intervalo de zero a 1000. Para tornar os resultados de classificação mais significativos, a consulta pode controlar como os valores brutos de classificação são calculados na cláusula RANK BY.
Este tópico está organizado da seguinte forma:
Cláusula RANK BY
A sintaxe da cláusula RANK BY é a seguinte:
WHERE ( <search_condition> )
RANK BY [ ( ] <rank_specification> [ ) ]
A cláusula RANK BY é aplicada ao search_condition imediatamente anterior, especificando efetivamente uma classificação menor ou maior para as linhas retornadas por essa condição de pesquisa do que as linhas retornadas por outra condição de pesquisa. Os parênteses em torno do search_condition são obrigatórios. Os parênteses em torno da especificação de classificação são opcionais.
Mais de uma cláusula RANK BY pode ser aplicada a uma única condição. Você pode incluir cláusulas adicionais RANK BY, uma após a outra, usando parênteses.
Observação
Predicados de texto completo retornam valores de classificação no intervalo de 0 a 1000. Os valores de classificação para todos os documentos correspondidos por um predicado de texto não completo são 1000. As alterações aos valores de classificação devem ter em conta esta informação.
A parte rank_specification da cláusula RANKBY identifica uma ou mais funções a serem aplicadas aos valores de classificação. A função PESO aplica um multiplicador ao valor bruto da classificação de uma linha retornada. Quanto menor o multiplicador, menor o valor de classificação resultante. A função COERCION pode ser usada para multiplicar, adicionar ou definir um valor de classificação específico para uma linha retornada. Cada especificação de classificação pode incluir zero ou uma função WEIGHT e zero ou mais funções COERCION. Se ambas as funções WEIGHT e COERCION estiverem incluídas em uma cláusula RANK BY, a função WEIGHT deve ser a primeira.
Função PESO
A sintaxe da função PESO é:
WEIGHT ( <weight_multipler> )
O multiplicador deve ser decimal de 0,001 a 1,000. O valor de classificação bruto retornado pelo predicado da condição de pesquisa é multiplicado pelo multiplicador de peso para definir um novo valor de classificação.
No exemplo a seguir, a função PESO fornece documentos com a palavra "Theresa" no campo System.Document.LastAuthor metade do valor de classificação de documentos com "Theresa" no campo System.Author:
WHERE CONTAINS ( System.Author,'"Theresa"' )
RANK BY WEIGHT ( 1.000 )
OR
CONTAINS ( System.Document.LastAuthor,'"Theresa"' )
RANK BY WEIGHT ( 0.500 )
Observação
Os recursos de ponderação de coluna de predicados CONTAINS e FREETEXT suportam um formato abreviado usando dois pontos entre o termo de pesquisa e o multiplicador ("software":0.25). A cláusula RANK BY não suporta a forma abreviada.
Há uma limitação ao usar RANK BY WEIGHT: não funciona com cláusulas CONTAINS que usam condições booleanas; Por exemplo, o seguinte exemplo não é permitido:
CONTAINS ( System.Author,'"Theresa" OR "Teresa"' ) RANK BY WEIGHT ( 0.400 )
Função COERÇÃO
A função de coerção de classificação pode ser usada para alterar o valor de classificação retornado por adição ou multiplicação ou atribuindo-lhe um valor específico.
A sintaxe da função COERÇÃO é:
COERCION ( <coercion_operation> , <coercion_value> )
O valor de coerção é um valor inteiro.
A tabela a seguir descreve as configurações de operação de coerção disponíveis.
Operação de coerção | Descrição | Intervalo de valores |
---|---|---|
ABSOLUTO | O valor de classificação retornado é o valor especificado no valor de coerção. | 0 a 1000 |
ADICIONAR | O valor de classificação retornado é a soma do valor bruto de classificação e o valor de coerção especificado. | 0,001 a 1,0 |
MULTIPLICAR | O valor de classificação retornado é o produto do valor bruto de classificação e o valor de coerção especificado. | 0,001 a 1,0 |
Importante
A pesquisa pode retornar valores de classificação somente no intervalo de 0 a 1000.
O exemplo a seguir usa a função COERCION para definir todos os documentos com "computador" no título para ter uma classificação de 1000, enquanto reduz em um quarto a classificação de documentos contendo "computador" e "software" no título.
WHERE CONTAINS ( System.Title, 'computer' )
RANK BY COERCION ( ABSOLUTE , 1000 )
OR
CONTAINS ( System.Title, '"computer" AND "software"' )
RANK BY COERCION ( MULTIPLY, 0.750 )