2011-05-17 18 views
7

Quiero integrar la búsqueda de texto completo en una aplicación .NET con [Fluent] acceso a datos basado en NHibernate. Hasta ahora, la combinación de Lucene.NET y NHibernate Search parece ser la opción más razonable. Sin embargo, hay varios proyectos construidos en la parte superior de Lucene que se dice que mitigan la complejidad de Lucene y agregan nuevas características (por ejemplo, Solr o ElasticSearch), así como algunos contenedores .NET alrededor de esas bibliotecas. Entonces, ¿cuáles son las [mejores] opciones para mi proyecto?Búsqueda de texto basado en NHibernate

Respuesta

2

Si ya tiene acceso a datos nhibernate, debe ir con la búsqueda nhibernate, ya que se integra muy bien, y la curva de aprendizaje no es demasiado pronunciada.

Solr y Elasticsearch son más independientes del sistema (api relajante por ejemplo), pero necesitarán más trabajos de fontanería.

Y usted tiene una gran cantidad de recursos aquí: https://stackoverflow.com/questions/tagged/nhibernate.search

+0

Gracias por su respuesta, Mathieu (+). ¿Piensa que invertir un poco de esfuerzo en dicho código de fontanería se justificará con la funcionalidad implementada por Solr o ElasticSearch (por ejemplo, escalabilidad)? –

+0

Utilicé NHS para indexar 15 GB de documentos y no tuve problemas de rendimiento. ¿Cuántos datos va a indexar? Se actualizará con frecuencia? – mathieu

+0

Es una aplicación B2B de inicio y la cantidad de texto depende de cuántos clientes puedan obtener nuestros vendedores. Entonces la escalabilidad es realmente una preocupación allí. Sin embargo, no creo que lleguemos a los 15GB pronto. –

1

Ya que estás en .NET, Solr e Hibernate Buscar en realidad no puede ser de ayuda y probablemente requeriría que conseguir otro servidor dedicado para la búsqueda sólo . No estoy familiarizado con NHibernate Search et al, pero a medida que van los puertos .NET, lo más probable es que esté bastante detrás de lo real de Java.

Si es factible para usted cambiar la capa de acceso a datos, vaya al RavenDB. Está escrito en C# /. NET en la parte superior de Lucene, por lo que obtendrá un documento DB sin esquema rápido y un motor de búsqueda de texto completo como uno solo.

+0

Gracias por su respuesta. Desafortunadamente, cambiar a otra tecnología de acceso a datos para la aplicación es casi imposible y, desde luego, no se puede justificar con solo la búsqueda de texto completo, aunque definitivamente vale la pena consultar RavenDB. –

+0

Tiene toda la razón: NH.Search no se mantiene activamente salvo que se basa en la última versión de NH, no se ha actualizado desde que se transfirió inicialmente. –

Cuestiones relacionadas