Свободный NHibernate + Lucene Search (NHibernate.Search) - PullRequest
3 голосов
/ 15 февраля 2009

Я использую Fluent NHibernate и хотел бы реализовать NHibernate.Search с Lucene, но я не могу найти примеров того, как это сделать с Fluent NHibernate. Похоже, есть два шага. (По данным Замок )

  1. Установите свойства Hibernate в конфигурации:

    • hibernate.search.default.directory_provider
    • hibernate.search.default.indexBase
    • hibernate.search.analyzer
  2. Инициализация прослушивателей событий для индексации сохраняемых объектов

    • configuration.SetListener (ListenerType.PostUpdate, новый FullTextIndexEventListener ());
    • configuration.SetListener (ListenerType.PostInsert, новый FullTextIndexEventListener ());
    • configuration.SetListener (ListenerType.PostDelete, new FullTextIndexEventListener ());

Я понял, как добавить свойства в конфигурацию источника Fluent NHibernate, но Я не могу найти, где настроены прослушиватели событий.

Ответы [ 2 ]

5 голосов
/ 16 февраля 2009

Если вы используете Fluent Configuration API, то вам просто нужно использовать метод ExposeConfiguration, чтобы получить доступ к экземпляру конфигурации NHibernate.

Fluently.Configure()
  .Database(...)
  .Mappings(...)
  .ExposeConfiguration(cfg =>
  {
    cfg.SetListener(...);
    cfg.SetListener(...);
  })
  .BuildSessionFactory();
1 голос
/ 14 мая 2010

Я работаю над Fluent API для Lucene , который устраняет необходимость в атрибутах и ​​прекрасно интегрируется с FNH

Это все еще очень пре-альфа, взносы приветствуются!

...