, 당신은이 코드를 추가해야합니다
귀하의 Web.config/app.config 파일은 다음을 포함하기 위해 변경해야합니다
NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
//Load configuration
//Add NHibernate.Search listeners
cfg.SetListener(NHibernate.Event.ListenerType.PostUpdate, new FullTextIndexEventListener());
cfg.SetListener(NHibernate.Event.ListenerType.PostInsert, new FullTextIndexEventListener());
cfg.SetListener(NHibernate.Event.ListenerType.PostDelete, new FullTextIndexEventListener());
var factory = cfg.BuildSessionFactory();
:
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" requirePermission="false"/>
<section name="nhs-configuration" type="NHibernate.Search.Cfg.ConfigurationSectionHandler, NHibernate.Search" requirePermission="false"/>
</configSections>
<!-- NHibernate.Search -->
<nhs-configuration xmlns='urn:nhs-configuration-1.0'>
<search-factory>
<property name='hibernate.search.default.directory_provider'>NHibernate.Search.Store.FSDirectoryProvider, NHibernate.Search</property>
<property name='hibernate.search.default.indexBase'>PATH TO LUCENE.NET STORE</property>
<property name='hibernate.search.indexing_strategy'>event</property>
</search-factory>
</nhs-configuration>
<appSettings>
<add key="Lucene.Net.lockdir" value="SAME PATH AS ABOVE" />
</appSettings>
...
마지막으로, ISession 인스턴스를 만들 때 대신이 코드를 사용하여 IFullTextSession을 가져와야합니다.
IFullTextSession session = Search.CreateFullTextSession(factory.OpenSession());
이것은 Lucene 2.0 및 NHibernate 2.0에서 작동합니다.
아마도 이런 종류의 질문을하는 것이 적절하지 않을 수 있습니다. NHibernate contrib 그룹을 시도 했습니까? http://groups.google.com/group/nhcdevs/? – Rashack