3

我正在使用 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 源配置,但我找不到设置事件侦听器的位置。

4

2 回答 2

5

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

Fluently.Configure()
  .Database(...)
  .Mappings(...)
  .ExposeConfiguration(cfg =>
  {
    cfg.SetListener(...);
    cfg.SetListener(...);
  })
  .BuildSessionFactory();
于 2009-02-16T10:01:45.307 回答
1

我正在为 Lucene 开发 Fluent API,它消除了对属性的需求并与 FNH 很好地集成

它仍然是 Alpha 版,欢迎投稿!

于 2010-05-14T15:04:43.930 回答