Описание тега nhibernate.search

NHibernate.Search - это расширение для NHibernate, которое позволяет вам использовать Lucene.NET, систему полнотекстового поиска в качестве механизма запросов, вместо дополнительной нагрузки на саму базу данных.

NHibernate.Search привносит мощь полнотекстовых поисковых систем в модель персистентной области, комбинируя NHibernate с возможностями поисковой системы Lucene.Net.

NHibernate.Search - это порт Hibernate.Search. Как указано на странице обзора Hibernate.Search (сообщество JBoss):

Системы полнотекстового поиска, такие как Apache Lucene ™, являются очень мощными технологиями, позволяющими добавлять эффективные возможности бесплатного поиска текста в приложения. Однако при работе с моделями предметной области у Lucene есть несколько несоответствий. Помимо прочего, индексы должны поддерживаться в актуальном состоянии, а несоответствия между структурой индекса и моделью предметной области, а также несоответствия запросов следует избегать.

Hibernate Search устраняет эти недостатки. Он индексирует вашу модель домена с помощью нескольких аннотаций, заботится о синхронизации базы данных / индекса и возвращает обычные управляемые объекты из запросов с произвольным текстом. Следовательно, это решает:

  • Структурное несоответствие: Hibernate Search заботится о переводе объекта / индекса

  • Несоответствие дублирования: Hibernate Search управляет индексом, синхронизирует изменения с вашей базой данных и прозрачно оптимизирует доступ к индексу

  • Несоответствие API: Поиск в Hibernate позволяет запрашивать индекс и извлекать управляемые объекты, как это делал бы любой обычный запрос Hibernate.

Пакет Nuget можно найти здесь: http://nuget.org/packages/NHibernate.Search

Дополнительную информацию об исходной версии Hibernate.Search можно найти здесь: http://www.hibernate.org/subprojects/search.html