流利的NHibernate + Lucene搜索(NHibernate.Search)

Rya*_*ery 3 lucene nhibernate event-listener fluent-nhibernate nhibernate.search

我正在使用Fluent NHibernate,我想用Lucene实现NHibernate.Search但是我找不到任何关于如何用Fluent NHibernate做这个的例子.看来有两个步骤.(根据城堡)

  1. 在配置中设置Hibernate属性:

    • hibernate.search.default.directory_provider
    • hibernate.search.default.indexBase
    • hibernate.search.analyzer
  2. 初始化事件侦听器以索引持久化对象

    • configuration.SetListener(ListenerType.PostUpdate,new FullTextIndexEventListener());
    • configuration.SetListener(ListenerType.PostInsert,new FullTextIndexEventListener());
    • configuration.SetListener(ListenerType.PostDelete,new FullTextIndexEventListener());

我想出了如何向Fluent NHibernate源配置添加属性,但我无法找到事件监听器的设置位置.

Jam*_*ory 5

如果您正在使用Fluent配置 API,那么您只需要使用该ExposeConfiguration方法来获取NHibernate配置实例.

Fluently.Configure()
  .Database(...)
  .Mappings(...)
  .ExposeConfiguration(cfg =>
  {
    cfg.SetListener(...);
    cfg.SetListener(...);
  })
  .BuildSessionFactory();
Run Code Online (Sandbox Code Playgroud)