1.SSH+Compass+Lucene环境搭建
<!-- 创建Compass注解配置對象 --> <bean id="annotationConfiguration" class="org.compass.annotations.config.CompassAnnotationsConfiguration"> </bean> <!-- 创建compass Bean创建本地搜索对象--> <bean id="compass" class="org.compass.spring.LocalCompassBean"> <!-- 解析的实体类的目录 --> <property name="resourceDirectoryLocations"> <list> <value>classpath:com/jh/poa/platform/adm/domain</value> <value>classpath:com/jh/poa/guestbook/domain</value> </list> </property> <property name="classMappings"> <list> <value>com.jh.poa.platform.adm.domain.TblBasAttachment</value> <value>com.jh.poa.guestbook.domain.TblAppGuestbook</value> </list> </property> <!-- 定义索引的存储位置 -相对路径 --> <property name="connection"> <value>/lucene/indexes</value> </property> <property name="compassConfiguration" ref="annotationConfiguration" /> <property name="compassSettings"> <props> <prop key="compass.transaction.factory"> org.compass.spring.transaction.SpringSyncTransactionFactory </prop> <prop key="compass.engine.analyzer.MMAnalyzer.CustomAnalyzer">net.paoding.analysis.analyzer.PaodingAnalyzer </prop> <!-- 配置高亮为红色 --> <prop key="compass.engine.highlighter.default.formatter.simple.pre"> <![CDATA[<span style="background-color:white;color:red;">]]> </prop> <prop key="compass.engine.highlighter.default.formatter.simple.post"> <![CDATA[</span>]]> </prop> <!-- 定义索引的存储位置-绝对路径 <prop key="compass.engine.connection">C:/paoding/compass</prop> --> </props> </property> <property name="transactionManager" ref="transactionManager" /> </bean> <!-- hibernate--> <bean id="hibernateGpsDevice" class="org.compass.gps.device.hibernate.HibernateGpsDevice"> <property name="name"> <value>hibernateDevice</value> </property> <property name="sessionFactory" ref="sessionFactory" /> <property name="mirrorDataChanges"> <value>true</value> </property> </bean> <!--关于JPA的配置 <bean id="jpaGpsDevice" class="org.compass.gps.device.jpa.JpaGpsDevice"> <property name="name"> <value>JpaGpsDevice</value> </property> <property name="sessionFactory" ref="sessionFactory" /> <property name="mirrorDataChanges"> <value>true</value> </property> <property name="injectEntityLifecycleListener" value="true"/> </bean>--> <bean id="compassGps" class="org.compass.gps.impl.SingleCompassGps" init-method="start" destroy-method="stop"> <property name="compass" ref="compass" /> <property name="gpsDevices"> <list> <bean class="org.compass.spring.device.SpringSyncTransactionGpsDeviceWrapper"> <property name="gpsDevice" ref="hibernateGpsDevice" /> <!-- <property name="gpsDevice" ref="jpaGpsDevice" />--> </bean> </list> </property> </bean> <bean id="compassTemplate" class="org.compass.core.CompassTemplate"> <property name="compass" ref="compass" /> </bean> <!-- 定时重建索引(利用quartz)或随Spring ApplicationContext启动而重建索引 --> <bean id="compassIndexBuilder" class="com.jh.poa.platform.adm.compass.CompassIndexBuilder" lazy-init="false"> <property name="compassGps" ref="compassGps" /> <property name="buildIndex" value="true" /> <property name="lazyTime" value="10" /> </bean>