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

时间:2009-02-15 16:01:06

标签: nhibernate fluent-nhibernate lucene nhibernate.search event-listener

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

  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());
  3. 我想出了如何在Fluent NHibernate源配置中添加属性,但我无法找到事件监听器的设置位置。

2 个答案:

答案 0 :(得分:5)

如果您使用的是Fluent Configuration API,那么您只需使用ExposeConfiguration方法来获取NHibernate配置实例。

Fluently.Configure()
  .Database(...)
  .Mappings(...)
  .ExposeConfiguration(cfg =>
  {
    cfg.SetListener(...);
    cfg.SetListener(...);
  })
  .BuildSessionFactory();

答案 1 :(得分:1)

我正在研究Fluent API for Lucene,这消除了对属性的需求,并与FNH很好地集成

它仍然非常受欢迎,欢迎贡献!