¿Alguien ha encontrado una buena manera de realizar búsquedas de texto completo (FREETEXT() CONTAINS()
) para cualquier cantidad de palabras clave arbitrarias utilizando la sintaxis estándar de la consulta LinqToSql?LinqToSql y búsqueda de texto completo: ¿se puede hacer?
Obviamente, me gustaría evitar tener que usar un Stored Proc o tener que generar una llamada de SQL dinámico.
Obviamente tan sólo pudiera bombear la cadena de búsqueda en el parámetro a un procedimiento almacenado que utiliza FREETEXT() o CONTIENE(), pero yo estaba esperando a ser más creativos con la búsqueda y construir consultas como:
"pizza de pepperoni" y hamburguesa, no "tarta de manzana".
Loco Lo sé, pero ¿no sería genial poder hacer esto directamente desde LinqToSql? Cualquier consejo sobre cómo lograr esto sería muy apreciado.
Actualización: Creo que puedo ser a algo here ...
También: Me di la vuelta el cambio realizado a título de la pregunta porque realmente cambió el significado de lo que estaba pidiendo. I sepa que la búsqueda de texto no es compatible con LinqToSql - Hubiera preguntado si quería saber eso. En su lugar, he actualizado mi título para apaciguar las masas edit-happy-trigger-fingers.
Hola Jon, gracias por esto. Estoy contento con su respuesta en principio y soy consciente de que podría agregar otra capa de abstracción. No es ideal aunque también escriba el CONTAINS() SPROC y use Linq para cada cosa más. Mi pregunta es "¿Se puede hacer utilizando Linq"? Si no, entonces tu respuesta será suficiente. – RobertTheGrey
He decidido usar Lucene.NET para esto ahora y realmente funciona bastante bien. Ahora solo tengo que ejecutar Memcached y no necesitaré acceder al DB ;-) – RobertTheGrey