Quiero comparar las palabras individuales de la entrada del usuario con palabras individuales de una columna en mi tabla.SQL: división de una columna en varias palabras para buscar la entrada del usuario
Por ejemplo, considere estas filas en mi mesa:
ID Name
1 Jack Nicholson
2 Henry Jack Blueberry
3 Pontiac Riddleson Jack
Considere que la entrada del usuario es 'Pontiac Jack'. Quiero asignar pesos/rangos para cada coincidencia, por lo que no puedo usar una manta LIKE (WHERE Name LIKE @SearchString).
Si Pontiac está presente en cualquier fila, quiero otorgarle 10 puntos. Cada partida de Jack obtiene otros 10 puntos, etc. Así que la fila 3 obtendría 20 puntos, y las filas 1 y 2 obtendrían 10.
He dividido la entrada del usuario en palabras individuales y las he almacenado en una tabla temporal @SearchWords (Palabra).
Pero no puedo encontrar una manera de tener una declaración SELECT que me permita combinar esto. Tal vez estoy haciendo esto de la manera incorrecta?
Saludos, WT
¿Considera utilizar SQL SErver Búsqueda de texto completo? –
Sí, lo hice, no funcionó bien para nosotros, y fue muy difícil personalizarlo según nuestros requisitos. –
+1 para búsqueda de texto completo, no necesariamente SQL Server, pero por ejemplo lucene.net. –