vista usar texto tabla puede predicado por indizado indizada full ejemplos completo coincidencias campo busqueda buscar sql sql-server full-text-search freetext

sql - texto - no se puede usar el predicado contains or freetext en tabla o vista indizada



Coincidencia de texto libre de SQL Server: cómo puedo ordenar por relevancia (2)

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.

¿Es posible ordenar 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.

De los documentos de MySQL :

Para cada fila en 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 ().

Entonces, 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?


Tanto FREETEXTTABLE como 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.