用compass快速给你的网站添加搜索功能<二>

用compass快速给你的网站添加搜索功能<二>

       在上一篇文章中主要讲了,配置要索引的表和compass与spring整合时的配置。接下来我把余下的两部分写出来。
       第三步:配置手动创建索引的功能。
       这个其实只需在第一次生成索引的时候用,当系统正常运行时,compass中的hibernateGps会自动检测数据的变动,同时同步索引文件的。
      首先在applicationContext.xml中配置bean.
       <!-- 手工生成索引 -->
 <bean id="buildIndexController"
  class="org.compass.spring.web.mvc.CompassIndexController">
  <property name="compassGps" ref="hibernateGps" />
  <property name="indexView" value="/ftl/create.ftl" />
  <property name="indexResultsView" value="/ftl/create.ftl" />
 </bean>
 同时我们也要配置与之相应的请求映射。
 <bean id="urlHandlerMapping"
  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
   <props>
       <prop key="/buildindex.htm">buildIndexController</prop>
      </props>
  </property>
 </bean>
  最后就是自动生成索引的页面了,这里我用的是freemarker.用什么都一样,你可以用jsp,html.
 create.ftl(在WebRoot下的ftl文件夹下)
 <html>
 <head>
  <title>builderIndex</title>
 </head>
 <body>
  <h1>
   手工重建索引
  </h1>
  <p>
   <form name="keyword" action="/buildindex.htm" method="post">
   <INPUT type="hidden" name="doIndex" value="true">
   <input type="submit" value="手工重建索引" />
  </form>
  <#if indexResults?exists>
    本次索引耗时${indexResults.indexTime}毫秒!
    </#if>
    <p>
 </body>
</html>
 当我们点击手工重建索引按钮时,会在我们指定的索引目录下<prop key="compass.engine.connection">E:/video</prop>也就先在E:/video下生成gpsindex/video-index当索引生成完以后,会返回生成索引所用的毫秒数。这时就会把gpsindex文件夹下的video-index覆盖到E:/video/index/下的video-index文件夹。这时gpsindex/video-index也消失了。这就是简单的生成索引的过程。接下来我们要说最后一步了。索引我们已建好了,怎么去搜索我们想要的数据了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值