今天接到客户新的需求,要求在分词上接近,现实更人性化,于是我将原先来分词器IK_CAnalyzer 换成最新的 PaodingAnalyzer, 不过.....这其中的曲折太多了...
首先,我下载了最新的paoding包 paoding-analysis-2.0.4-alpha2,将jar包导入classpath,将词典导入到classpath我设置好paoding.dic.home
并将compass的sping配置做了修改,如下
修改前:
<prop key="compass.engine.analyzer.default.type">org.mira.lucene.analysis.IK_CAnalyzer</prop>
修改后:
<prop key="compass.engine.analyzer.default.type">net.paoding.analysis.analyzer.PaodingAnalyzer</prop>
启动,报错如下
java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1412)
at com.caucho.loader.DynamicClassLoader.findClassImpl(DynamicClassLoader.java:1282)
at com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1184)
at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1128)
at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1113)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at net.paoding.analysis.analyzer.impl.MostWordsTokenCollector.collect(MostWordsTokenCollector.java:41)
at net.paoding.analysis.analyzer.PaodingTokenizer.collect(PaodingTokenizer.java:146)
at net.paoding.analysis.knife.CombinatoricsKnife.doCollect(CombinatoricsKnife.java:258)
at net.paoding.analysis.knife.CombinatoricsKnife.collectIfNotNoise(CombinatoricsKnife.java:227)
意思是说我继承了一个final类,这个final类是哪个类呢,是 lucene-core.jar下面的org.apache.lucene.org.apache.lucene.analysis.Token类,这个类被声明为final,但paoding分词会继承这个类,怎么办呢,我查看了下载的paoding-analysis-2.0.4-alpha2包,里面的lucene jar包是2.2版本的,于是我将我工程的lucene版本升至2.2.
启动,又报错,如下
java.lang.NoSuchMethodError: org/apache/lucene/document/Document.add(Lorg/apache/lucene/document/Field;)V
找不到方法,Lucene从2.0版本后Document增加Field时采用的是new Field(...)方法,而我的compass.jar是1.0版本的,于是我又去下了个最新的compass.jar 2.02版本的.
启动,又报错
找不到 org.compass.spring.device.hibernate.SpringHibernate3GpsDevice
看了一下jar包里的类,这个类改成org.compass.spring.device.hibernate.dep.SpringHibernate3GpsDevice了...
再次启动后终于正常了...
分享到:
相关推荐
### 基于Compass2.2与Spring结合建立索引的实例 #### 一、Compass简介 Compass是一个开源的.NET和Java框架,它为应用程序提供了完整的文本搜索功能。该框架支持多种搜索引擎(如Elasticsearch, Solr等),使得开发...
《Compass+Lucene:构建高效全文搜索引擎》 在信息技术高速发展的今天,数据量的爆炸式增长使得传统的数据库查询方式面临着挑战。此时,全文搜索引擎以其快速、高效的特性,成为了处理大量非结构化文本数据的首选...
Compass 是基于 Lucene 构建的一个高级搜索引擎框架,它简化了 Lucene 的使用,并且提供了更多的特性,如自动索引、ORM 集成(Object-Relational Mapping)以及对多种持久化技术的支持,如 JPA、Hibernate 和 ...
Struts、Hibernate、Spring、JPA、Lucene、JBPM和Compass是Java开发中常用的一系列技术,它们各自在不同的领域发挥着重要作用。这里我们将深入探讨这些技术以及如何将它们整合在一起进行配置。 1. **Struts**:...
标题中的“Lucene+compass+spring+jdbc+庖丁的一个例子”揭示了这是一个关于整合多个技术来构建一个搜索系统的示例。在这个系统中,我们有以下几个关键组件: 1. **Lucene**: Apache Lucene 是一个高性能、全文本...
Compass和Lucene是两个在Java世界中非常重要的搜索引擎框架,它们在处理文本检索和全文索引方面具有强大的功能。这个压缩包包含了一个完整的Compass工程,MySQL的建库SQL脚本,以及相关的学习资料,非常适合想要深入...
在实际应用中,`compass+lucene`的组合使得开发者可以轻松地在Java应用中添加全文搜索功能,而无需深入了解搜索引擎的复杂细节。通过 Compass 的 ORM 集成,开发者可以直接在存储在数据库中的对象上执行全文搜索,这...
Compass 是一个基于 Lucene 的全文检索框架,它提供了一种高级的、面向对象的方式来管理和集成搜索引擎到你的应用程序中。在“compass2.1.4包”中,包含了 Compass 框架的版本 2.1.4,这个版本可能包含了性能优化、...
例如,使用Compass将数据库中的数据同步到Lucene索引中,然后通过Ajax实现前端与后端的无刷新通信,当用户在搜索框中输入关键词时,立即向服务器发送请求,服务器利用Lucene进行查询,并用Ajax返回结果,这样就能在...
compass+ibatis+spring+struts2整合开发compass+ibatis+spring+struts2整合开发compass+ibatis+spring+struts2整合开发compass+ibatis+spring+struts2整合开发
struts2 + spring2.5 + hibernate 3.2 + lucene 2.4 + compass 2.0 包含所有jar包,按readme.txt导入并运行即可 开始不用分了................
使用compass+lucene实现简单的全文检索功能 里面整合了spring2.5、hibernate3.2、struts2.0,是对数据库进行全文检索的一个非常好的demo的所有jar包组合! 对研究基于数据库检索的java开源搜索引擎的朋友有很大的...
Compass是一个基于Lucene的高级搜索引擎框架,它为Java开发者提供了一种更加便捷的方式来构建和管理搜索引擎应用。 **一、Compass概述** Compass是一个开源项目,它将Lucene的功能封装起来,提供了一套面向对象的...
通过深入研究"compass_lucene_source",开发者可以学习到如何结合Lucene的底层能力,利用Compass构建出功能完善的全文搜索引擎,同时还能掌握如何设计和优化搜索系统的各种技巧。这对于那些希望提升应用搜索功能的...
Compass是一个全文搜索引擎库,它是Lucene的包装器,使得在Java应用程序中集成搜索引擎变得简单。Compass2.2引入了对Spring的深度集成,可以无缝地与Hibernate配合工作,实现实时索引和检索。它使得在应用程序中添加...
标题提及的"COMPASS+spring构建自己的搜索引擎"是关于如何使用Compass搜索引擎框架与Spring框架集成,构建一个自定义的全文搜索引擎。Compass是一个开源的搜索引擎库,它提供了与ORM框架(如Hibernate)的集成,使得...
在本资源包中,"初识 sass compass框架" 部分将引导你了解如何安装和设置 Sass 和 Compass,以及如何利用它们来构建项目。你将学习到如何创建和编译 .scss 文件,如何导入 Compass 的模块,以及如何自定义 Compass ...
Lucene.jar 架包是构建全文检索应用的基础,结合其他扩展库(如 Compass 和 Paoding Analysis),开发者可以构建出强大且高效的搜索系统。无论是在小型项目还是大型企业级应用中,Lucene 都是一个不可或缺的工具。...