Pregunta

¿Es posible ordenar los resultados en SQL Server 2005 según la relevancia de una coincidencia de texto libre?En MySQL puedes usar la función MATCH (aproximadamente equivalente) en la sección ORDER BY, pero no he encontrado ninguna equivalencia en SQL Server.

Desde el documentos MySQL:

Para cada fila de la tabla, MATCH() devuelve un valor de relevancia;es decir, una medida de similitud entre la cadena de búsqueda y el texto de esa fila en las columnas nombradas en la lista MATCH().

Entonces, por ejemplo, podría ordenar por número de votos, luego por relevancia y finalmente por fecha de creación.¿Es esto algo que se puede hacer, o tengo que limitarme a devolver los valores coincidentes y no tener esta capacidad de ordenar?

¿Fue útil?

Solución

Si estas usando FREETEXTTABLE luego devuelve un nombre de columna Rank, entonces order by Rank Deberia trabajar.No sé si otros métodos de búsqueda de texto libre también devuelven este valor o no.Puedes intentarlo.

Otros consejos

Ambos FREETEXTTABLE y CONTAINSTABLE devolverá el [RANK] columna, pero asegúrese de utilizar la variación correcta o la unión de ambas para obtener todos los resultados apropiados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top