Archive for enero 2011

MF.COM

MF.COM...
lunes, enero 31, 2011
Posted by Carlos
Tag :

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')
Posted by Carlos

Populares!

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