2008-09-10 8 views
8

¿Es posible solicitar resultados en SQL Server 2005 por la relevancia de una coincidencia de texto libre? En MySQL puede usar la función MATCH (más o menos equivalente) en la sección ORDER BY, pero no he encontrado ninguna equivalencia en SQL Server.SQL Server Conversión de texto libre: cómo ordeno por relevancia

Desde el MySQL docs:

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 en esa fila en las columnas nombradas en la lista MATCH().

Así que, por ejemplo, podría ordenar por el número de votos, luego esta relevancia, y finalmente por una fecha de creación. ¿Es esto algo que se puede hacer, o estoy atascado con simplemente devolver los valores coincidentes y no tener esta capacidad de ordenar?

Respuesta

4

Si está utilizando FREETEXTTABLE, entonces devuelve un nombre de columna Rank, por lo que order by Rank debería funcionar. No sé si otros métodos de búsqueda de texto libre también devuelven este valor o no. Puedes intentarlo.

2

FREETEXTTABLE y CONTAINSTABLE devolverán la columna [RANK], pero asegúrese de estar utilizando la variación correcta o unir ambos para obtener todos los resultados apropiados.

Cuestiones relacionadas