Pergunta

É possível ordenar os resultados no SQL Server 2005 pela relevância de uma correspondência de texto livre?No MySQL você pode usar a função MATCH (aproximadamente equivalente) na seção ORDER BY, mas não encontrei nenhuma equivalência no SQL Server.

De Documentos MySQL:

Para cada linha da tabela, MATCH() retorna um valor de relevância;isto é, uma medida de similaridade entre a string de pesquisa e o texto naquela linha nas colunas nomeadas na lista MATCH().

Por exemplo, você pode ordenar pelo número de votos, depois pela relevância e, finalmente, pela data de criação.Isso é algo que pode ser feito ou estou preso apenas em retornar os valores correspondentes e não ter essa capacidade de ordenação?

Foi útil?

Solução

Se você estiver usando FREETEXTTABLE então ele retorna um nome de coluna Rank, então order by Rank Deveria trabalhar.Não sei se outros métodos de pesquisa de texto livre também retornam esse valor ou não.Você pode tentar.

Outras dicas

Ambos FREETEXTTABLE e CONTAINSTABLE retornará o [RANK] coluna, mas certifique-se de usar a variação correta ou a união de ambas para obter todos os resultados apropriados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top