用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也消失了。这就是简单的生成索引的过程。接下来我们要说最后一步了。索引我们已建好了,怎么去搜索我们想要的数据了。
分享到:
- 2008-05-03 15:19
- 浏览 1287
- 评论(1)
- 论坛回复 / 浏览 (1 / 2214)
- 查看更多
相关推荐
Compass是一个开源的.NET和Java框架,它为应用程序提供了完整的文本搜索功能。该框架支持多种搜索引擎(如Elasticsearch, Solr等),使得开发人员能够在不深入学习特定搜索引擎的情况下,轻松地在其应用中集成高级的...
Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...
总的来说,使用 Compass 和 Lucene 实现全文检索功能,能够极大地提升 Java 应用的搜索体验,让开发者能够快速响应用户的查询需求。这两个工具的结合使用,不仅可以处理简单的文本搜索,还能够应对复杂的查询条件和...
Lucene提供了底层的搜索功能,而Compass是对Lucene的高级封装,它在Lucene的基础上添加了更多便利的功能,如ORM集成、事务支持等。对于开发者来说,使用Compass可以更快地上手,减少对Lucene底层细节的了解,提高...
学习和使用Compass全文搜索,你需要掌握以下几个关键知识点: 1. **Lucene基础知识**:理解Lucene的索引结构、倒排索引、Term和Document的概念,以及如何使用Analyzer处理文本。 2. **Compass配置**:设置数据源、...
通过Compass,你可以将对象-关系映射(ORM)与全文检索完美结合,使得数据库中的数据能够被快速高效地搜索。 **Compass的核心特性** 1. **对象-搜索映射(OSM)**:Compass允许你定义对象-搜索映射,将Java对象与...
6. **搜索**:使用Compass提供的API执行搜索操作。 #### 五、基于SSH的Compass实例 下面是一个基于SSH(Struts2+Spring+Hibernate)架构的Compass使用示例: 1. **添加依赖库**:在SSH项目基础上添加Compass及...
你需要下载并添加compass库的jar文件,然后配置Compass的连接器,使其与Hibernate集成。这样,当Hibernate进行数据操作时,Compass会自动更新索引。在Spring配置中,你可以声明一个CompassTemplate bean,它提供了与...
1. **Lucene**: Apache Lucene是一个基于Java的全文搜索引擎库,通过它可以轻松地为Java应用程序添加全文搜索功能。Lucene的主要工作是对文件中的每个词进行索引,这种索引机制极大地提高了搜索效率。它提供了一组...
通过使用Compass,开发者可以轻松地在应用程序中添加全文索引和搜索功能,从而提升用户体验和数据查询效率。 **Compass的主要特性** 1. **无缝集成**:Compass能够自动跟踪和索引数据库中的变化,使得索引始终保持...
这使得在不改变业务逻辑的情况下,轻松地为已有对象添加搜索能力。 一旦映射配置完成,你可以启动Compass实例,它会自动建立索引。之后,每当数据发生变化时,Compass可以实时更新索引,保持搜索结果的准确性。在你...
这个实例提供了从零开始使用Compass进行全文检索的一个起点,通过它你可以快速地了解和实践Compass的使用,同时也可以学习如何在SSH框架下整合全文检索功能。在深入学习和实践中,你将进一步掌握如何利用Compass提升...
Compass是基于Apache Lucene的一个高级全文搜索引擎,它将Lucene的功能与持久化层相结合,使得数据库中的数据能够被快速检索。Compass的核心特性包括: 1. **ORM集成**:Compass可以与流行的ORM框架如Hibernate、...
标题中的"S2SH+compass"指的是使用Struts2(S),Spring(S)和Hibernate(H)这三种开源框架的组合,再加上Compass搜索引擎库来实现一个网站内部的全文检索功能。这种组合常见于Java Web开发中,用于构建复杂、高...
在实际应用中,`compass+lucene`的组合使得开发者可以轻松地在Java应用中添加全文搜索功能,而无需深入了解搜索引擎的复杂细节。通过 Compass 的 ORM 集成,开发者可以直接在存储在数据库中的对象上执行全文搜索,这...
### C# 安装并使用 Mongodb 的详细指南 #### Mongodb 在 Windows 7 上的安装与配置 **一、Mongodb 安装步骤** 1. **下载 Mongodb 安装包** - 下载 `mongodb-win32-x86_64-2008plus-ssl-3.6.5-signed`。 - 注意...
通过Compass,开发者可以轻松地为数据库中的对象添加全文索引,实现快速的全文搜索。 Lucene,另一方面,是Apache软件基金会的一个项目,它是一个高性能、可扩展的信息检索库。Lucene提供了完整的搜索功能,包括...
而Compass是一个基于Lucene的搜索引擎库,它简化了在Java应用中集成全文搜索的功能。 首先,让我们详细了解一下SSH2中的每个框架: 1. Spring:这是一个轻量级的IoC(Inversion of Control)和AOP(Aspect-...
在实际项目中,使用SSH框架集成Compass插件,可以有效地提升Web应用的搜索性能,为用户提供快速、精准的查询体验。同时,Compass的易用性和灵活性使其成为Java开发中一个理想的全文搜索解决方案。