3

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.

rmontgomery429
  • 14,660
  • 17
  • 61
  • 66

2 Answers2

5

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();
James Gregory
  • 14,173
  • 2
  • 42
  • 60
  • This is correct but when I tried this, I ran into other problems with the Fluent NHibernate and the NHibernate.Search assemblies using two different versions of NHibernate. So, this is correct - but it actually doesn't work. Yet. :) – rmontgomery429 Feb 21 '09 at 17:22
  • 1
    @rmontgomery429 It's a solution for OSS, you should checkout from the trunk and build it on your own. – Samnang Jun 02 '09 at 02:40
1

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!

Andrew Bullock
  • 36,616
  • 34
  • 155
  • 231