Spring.net整合全文检索Lucene.net的方法(附例子)(2)
二、 集成环境配置 修改web.config,进行Spring.net和nHibernate.Search的配置: Code [http://www.xueit.com] 二、集成环境配置修改web.config,进行Spring.net和nHibernate.Searc
二、集成环境配置
修改web.config,进行Spring.net和nHibernate.Search的配置:

二、集成环境配置 修改web.config,进行Spring.net和nHibernate.Search的配置: <configSections> <sectionGroup name="spring"> <section name="typeAliases" type="Spring.Context.Support.TypeAliasesSectionHandler, Spring.Core"/> <section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/> <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/> <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/> </sectionGroup> <section name="nhs-configuration" type="NHibernate.Search.Cfg.ConfigurationSectionHandler, NHibernate.Search" requirePermission="false"/> <section name="SpringOverrideProperty" type="System.Configuration.NameValueSectionHandler"/> </configSections> <SpringOverrideProperty> <add key="DbProvider.ConnectionString" value="Data Source=(local);Database=LuceneDemo;User ID=sa;Password=system;Trusted_Connection=False"/> <add key="SystemInit.IsDebug" value="true"/> <add key="SystemInit.Level" value="4"/> </SpringOverrideProperty> <!--nHibernate.Search--> <nhs-configuration xmlns="urn:nhs-configuration-1.0"> <search-factory sessionFactoryName="NHibernateSessionFactory"> <property name="hibernate.search.default.directory_provider"> NHibernate.Search.Store.FSDirectoryProvider,NHibernate.Search </property> <property name="hibernate.search.default.indexBase">~/Index</property> <property name="hibernate.search.default.indexBase.create">true</property> </search-factory> </nhs-configuration> <!-- Spirng.Net 配置 --> <spring> <parsers> <parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/> <parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data"/> </parsers> <context> <resource uri="config://spring/objects"/> <resource uri="~/config/appDaoContext.xml"/> <resource uri="~/config/business.xml"/> <resource uri="~/config/controllers.xml"/> <resource uri="~/config/pageConfig.xml"/> <resource uri="~/config/serviceConfig.xml"/> </context> <objects xmlns="http://www.springframework.net"/> </spring>
此处的"hibernate.search.default.indexBase"值"~/Index"可以更改为您希望的目录名称。这里的意义在于,当监控到数据变化时,会将索引变化写入到"~/Index/实体名/“。
在nHibernate 2.0中,加入了对数据库事件的监控,在配置文件中,给集成环境中的SessionFactory加上"EventListeners" 属性,便可轻松捕捉到诸如Insert、Update、Delete等事件,交由nHibernate.Search进行索引处理:

此处的"hibernate.search.default.indexBase"值"~/Index"可以更改为您希望的目录名称。这里的意义在于,当监控到数据变化时,会将索引变化写入到"~/Index/实体名/“。 在nHibernate 2.0中,加入了对数据库事件的监控,在配置文件中,给集成环境中的SessionFactory加上"EventListeners" 属性,便可轻松捕捉到诸如Insert、Update、Delete等事件,交由nHibernate.Search进行索引处理: <!--SessionFactory对象,其中包括一些比较重要的属性 --> <object id="NHibernateSessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate20"> <property name="DbProvider" ref="DbProvider"/> <property name="MappingAssemblies"> <list> <value>lucenedemo.model</value> </list> </property> <property name="HibernateProperties"> <dictionary> <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/> <entry key="dialect" value="NHibernate.Dialect.MsSql2000Dialect"/> <entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/> <entry key="show_sql" value="false" /> <entry key="hibernate.current_session_context_class" value="Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate20"/> <entry key="hibernate.query.factory_class" value="NHibernate.Hql.Classic.ClassicQueryTranslatorFactory" /> <entry key="cache.provider_class" value="NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache" /> <entry key="relativeExpiration" value="5" /> <!--2.显式启用二级缓存--> <entry key="cache.use_second_level_cache" value="true"/> <!--4.启动查询缓存--> <entry key="cache.use_query_cache" value="true"/> <entry key='hibernate.search.default.directory_provider' value='NHibernate.Search.Store.FSDirectoryProvider,NHibernate.Search' /> <entry key='hibernate.search.default.indexBase' value='~/Index'/> <entry key='hibernate.search.default.indexBase.create' value='true' /> </dictionary> </property> <property name="ExposeTransactionAwareSessionFactory" value="true" /> <!--events--> <property name="EventListeners"> <dictionary> <entry key="PostInsert"> <object type="NHibernate.Search.Event.FullTextIndexEventListener, NHibernate.Search" /> </entry> <entry key="PostUpdate"> <object type="NHibernate.Search.Event.FullTextIndexEventListener, NHibernate.Search" /> </entry> <entry key="PostDelete"> <object type="NHibernate.Search.Event.FullTextIndexEventListener, NHibernate.Search" /> </entry> </dictionary> </property> </object>
精彩图集
精彩文章
热门标签
mysql自动备份
dll生成lib
connections
nginx
相册
3D扇形
捕获
双括号
SQLAlchemy
虚继承
验证用户名
os模块
bg
is
创建Web服务
屏蔽HOME键
data-*
Twitter
页面显示
华为
dbi
overload
城市判断
过滤选择器
Oracle用户解锁
边
连续获取
基础 无域
updatepanel用
js获取属性
readfile
解
构造icmp
逐行读取
水平滚动
读写分离
getopt模块
PHPThumb
自动调节
移除tr
音效
简介
排序数组
WinExec
大容量数据
sql数据库连接
脚本全局
charset
不用图片
mbstring扩展
php变量作用域
logcat命令
线程并发
横向报表
JS获取URL
目标函数
主框架
主分区
并发插入优化
PHP ddos
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229