Mostrando las entradas con la etiqueta Full-Text Search. Mostrar todas las entradas

Full-Text Search

Tenia la necesidad de buscar una cadena en un campo de tipo varchar, esto podría solucionarse con un simple:
1: Select Name From Person Where Name Like '%Juan%Perez%'
Pero el problema radica en que el patrón de la cadena de búsqueda no necesariamente tiene un orden predefinido, por lo que podría requerir buscar:
Juan Perez, Perez Juan, Juan Jose Perez, Jose Perez, etc.
Como solución lo primero que hice fué crear el catalogo de busquedas:

Podría dar un error si no esta habilitada la funcionalidad, si esto sucede ejecutar el SP

  1. sp_fulltext_database 'enable'

1: CREATE FULLTEXT CATALOG PersonNameFTS
Luego, se crea un índice :
1: CREATE FULLTEXT INDEX ON Customer.tPerson(Name)
2:   KEY INDEX PK__tPerson__7058F441 ON PersonNameFTS
3:   WITH CHANGE_TRACKING AUTO
Y finalmente las consultas funcionan:
1: SELECT t.IdPerson, t.NAME, t.IdentityCardNumber FROM Person t
2:    WHERE CONTAINS ( t.[Name] ,'JUAN AND JOSE AND PEREZ')
3: SELECT t.IdPerson, t.NAME, t.IdentityCardNumber FROM Person t
4:    WHERE CONTAINS ( t.[Name] ,'PEREZ AND JOSE AND JUAN')
lunes, enero 31, 2011
Posted by Carlos

Populares!

Labels

Active Directory (1) Amistad (3) Amor (5) Arquitectura (1) Assembly (1) Click once (1) Crystal Reports (1) Datatable (4) Debug (1) Desarrollo (1) Entity Framework (1) FCKEditor (1) Full-Text Search (1) Generics (4) Historia (1) Humor (7) Información (1) iPad (1) Iron Speed (1) LINQ (3) Listas (2) MVC.NET (1) Objects (1) Oracle (1) Presentacion (1) Reflection (1) Share Point (3) Simpsons (1) Smart client (1) SOA (1) Sql Server (9) TFS (2) Varios (2) WCF (1) WWF (1) XNA (1)

- Copyright © - Oubliette - -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -