Fluent NHibernate + Lucene Search (NHibernate.Sear

2019-03-09 10:15发布

I'm using Fluent NHibernate and I would like to implement NHibernate.Search with Lucene but I can't find any examples on how to do that with Fluent NHibernate. It appears there are two steps. (According to Castle)

  1. Set the Hibernate properties in the configuration:

    • hibernate.search.default.directory_provider
    • hibernate.search.default.indexBase
    • hibernate.search.analyzer
  2. Initializing the Event Listeners to index persisted objcts

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

I figured out how to add properties to the Fluent NHibernate Source Configuration, but I cannot find where the Event Listeners are setup.

2条回答
老娘就宠你
2楼-- · 2019-03-09 10:45

I'm working on a Fluent API for Lucene which removes the need for attributes and integrated nicely with FNH

Its still very pre-alpha, contributions welcome!

查看更多
劳资没心,怎么记你
3楼-- · 2019-03-09 10:48

If you're using the Fluent Configuration API, then you just need to use the ExposeConfiguration method to get at the NHibernate Configuration instance.

Fluently.Configure()
  .Database(...)
  .Mappings(...)
  .ExposeConfiguration(cfg =>
  {
    cfg.SetListener(...);
    cfg.SetListener(...);
  })
  .BuildSessionFactory();
查看更多
登录 后发表回答