Pregunta

Tengo una base de datos MS SQL y tengo un campo varchar que me gustaría hacer consultas como donde nombre como '% searchTerm%' . Pero en este momento es demasiado lento, incluso con la indexación de texto completo de la empresa SQL.

¿Puede alguien explicar cómo Lucene .Net podría ayudar a mi situación? ¿Cómo funciona el indexador? ¿Cómo funcionan las consultas?

¿Qué se hace por mí y qué debo hacer?

¿Fue útil?

Solución

Vi a este chico (Michael Neel) presente en Lucene en una reunión de un grupo de usuarios: efectivamente, creas archivos de índice (con Lucene) y tienen punteros a lo que quieras (filas de la base de datos, lo que sea)

http://code.google.com/p / vinull / source / browse / # svn / Illustrations / LuceneSearch

Muy rápido, flexible y potente.

Lo que es bueno para Lucene es la capacidad de indexar una variedad de cosas (archivos, imágenes, filas de bases de datos) en su propio índice usando Lucene y luego traducirlo al dominio de su negocio, mientras que con SQL Server, todo tiene que estar en SQL para ser indexado.

No parece que sus diapositivas estén en el código de Google.

Otros consejos

Esto artículo (por extraño que parezca, en la parte superior de los resultados de búsqueda de Google :) tiene una descripción bastante buena de cómo se podría optimizar la búsqueda de Lucene.

Lucene correctamente configurada debería superar fácilmente la búsqueda de indización de texto completo en SQL (anterior a 2005). Si está en MS SQL 2005 y el rendimiento de su búsqueda sigue siendo demasiado lento, podría considerar revisar la configuración de su base de datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top