Vamos con la continuacion del articulo anterior, esta vez viendo como implementar FTS.
Para ello abre el Management Studio y conéctate a la instancia en la que queremos configurar el catalogo.
Abre el editor de consultas y ejecuta:
CREATE FULL TEXT CATALOG EjemploCatalogoFTS
Si FTS no estuviera habilitado para la base de datos recibirás este error:
Msg 7616, Level 16, State 100, Line 1
Full-Text Search is not enabled for the current database. Use sp_fulltext_database to enable full-text search for the database. The functionality to disable and enable full-text search for a database is deprecated. Please change your application.
Para ver si esta activado o no FTS, puedes abrir las propiedades de la base de datos donde queremos habilitarlo. Luego vamos al apartado "files" ahí encontramos una casilla de verificación que habilita FTS "Use full-text indexing".
Si FTS está habilitado el mensaje recibido por el motor será:
Command(s) completed successfully
Si se ha creado satisfactoriamente el catalogo podremos encontrar un archivo con el nombre del catalogo en la ruta por defecto de SQL (c:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\) que se usa para almacenar el catalogo y los índices de los datos.
Después de haber habilitado FTS y de haber creado nuestro primer catalogo, podemos ver el nuevo catalogo usando el explorador de objetos del Management Studio, lo encontramos en "Instancia->Base de Datos->Storage->Full Text Catalogs->Nombre de catalogo". Si no aparece acuérdate de refrescar el Explorador de objetos, si aun así no apareciera puede ser que haya habido algún problema en la creación si es así empezad comprobando los permisos NTFS.
También podemos usar el Management Studio para crear los catálogos pinchando sobre "Full Text Catalogs" con el botón derecho del ratón y clickando sobre "New Full-Text Catalog..."
Se nos abrirá la siguiente ventana en donde podemos rellenar el nombre, la ubicación y otras opciones validas (recordad que si queréis podéis pasar estas opciones una vez completadas al editor de consultas pinchando en la parte de arriba de la ventana donde pone "Script").
Después de crear el catalogo ya lo tenemos todo listo para crear nuestros índices FTS. Antes de crearlos en una tabla tenemos que estar seguros que exista un índice único en la tabla (en otra columna) el cual se usara para mapear los resultados a los registros de la tabla. Para crear nuestro índice FTS usaremos esta sentencia:
CREATE FULLTEXT INDEX ON Complaints(ComplaintDetails)
KEY INDEX PK_Complaints ON EjemploCatalogoFTS
WITH CHANGE_TRACKING AUTO
Fijaros que debemos de proporcionarle la tabla y columna donde queremos crearlo, además de el nombre y el catalogo donde se almacenara. También tenemos que decir si queremos que los cambios en el texto indexado queremos que se propaguen al índice de manera automática, manual o que no se propaguen (AUTO MANUAL OFF). Si pusiéramos manual para propagar esos cambios tendremos que ejecutar la siguiente sentencia, la cual podremos programar para que se haga periódicamente con el asistente para tareas automatizadas:
ALTER FULLTEXT INDEX PK_Complaints START UPDATE POPULATION
Una vez creado el índice vamos a ver como usamos FTS para tener una manera rápida y eficaz de resolver consultas en una columna donde contenemos texto.
Recordemos una de las consultas usadas con el método tradicional:
SELECT * FROM Notes Table WHERE Notes Like ‘%Full-Text Search%'
Esta consulta usando FTS seria así:
SELECT * FROM NotesTable WHERE CONTAINS(Notes, N'Full-Text Search')
Para acabar de completar la manera de usar FTS os aconsejo que os paséis por este enlace de TechNet donde veréis como usar las condiciones de búsqueda SQL en Transact-SQL
Bueno ya sabemos cómo mejorar considerablemente las consultas que incluyen columnas de texto largo. Hemos visto como implementarlo y ponerlo en funcionamiento, espero este articulo os sea de ayuda.
Un Saludo y Hasta Pronto.
BUEN APORTE, ME SIRVIO MUCHO EN LA ESCUELA.
ResponderEliminarES EXACTAMENTE MI TAREA. GRACIAS
Great post, very informative.
ResponderEliminarI wonder why the other experts of this sector do not realize this.
ResponderEliminarYou should continue your writing. I am sure, you have a huge readers’ base already!
ResponderEliminarVery interesting discussion glad that I came across such informative post.
ResponderEliminarThis article is very helpful and interesting too. Keep doing this in future.
ResponderEliminarThis website is useful. You made great points Many thanks for sharing.
ResponderEliminarI’m impressed with this article, I must say this is one of the best blog!!
ResponderEliminarIt is not everyday that I have the possibility to see something like this.
ResponderEliminarWhen your website or blog goes live for the first time, it is exciting.
ResponderEliminarIt is very well written, and your points are well-expressed.
ResponderEliminarKeep up the great work, its hard to find good ones.
ResponderEliminarTop best earnings tools and many more must check
ResponderEliminarIm taking your sustenance in addition, Thanks
ResponderEliminarthanks for sharing this type of useful articles to read.
ResponderEliminarEasily, the article is actually the best topic on this registry related issue.
ResponderEliminarIm glad to have found this post as its such an interesting one!
ResponderEliminarAnd he actually bought me lunch as I found it for him smile Therefore let me rephrase that:
ResponderEliminarI am fairly certain I'll be informed many new stuff proper here!
ResponderEliminarI am visiting this web page and reading very informative content here.
ResponderEliminarThe article has really peaked my interest.
ResponderEliminarI am sure this article has touched all the internet people.
ResponderEliminarتعتبر شركة كلينر من اشهر وأفضل شركات تنظيف الموكيت بالرياض.
ResponderEliminarشركة تنظيف موكيت بالرياض