浏览 2214 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-03
用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也消失了。这就是简单的生成索引的过程。接下来我们要说最后一步了。索引我们已建好了,怎么去搜索我们想要的数据了。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-05
能否在文章中贴出第一篇文章的连接?方便阅读
|
|
返回顶楼 | |