该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-14
linliangyi2007 写道 vincentwah 写道 linliangyi2007 写道 nvgui 写道 rongxh7 写道 linliangyi2007 写道 sunjun 写道 new IKAnalyzer();
jdk5.0 jdk6.0下都报一个错 java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) Exception in thread "main" 你是不是用的是Eclipse里面的jdk版本不多啊。别急,排查一下系统环境吧,包括你是不是装了oracle之后,默认jdk的路径被改了。。。。 从错误上看,就是版本不支持造成的 我也遇到同样的问题.我是在Eclipse里做的,后来发现用的是JDK5,改成JDK6,重编译一下,就行了! 只支持jdk6???? 不是只支持jdk6,是IKAnalyzer.jar用jdk6编译的,如果你使用5的话,需要自己下载源码编译。 哪里可以下载到3.0的源代码? SVN的地址是什么? http://ik-analyzer.googlecode.com/svn/trunk/ 请教一个问题,比如我对一个字符串 "硬盘驱动器" 做索引了以后, 搜索 "硬" 或者 "盘" 都不能搜索到,但是如果搜索"硬盘"就可以,这是什么问题呢? |
|
返回顶楼 | |
发表时间:2009-10-14
最后修改:2009-11-05
引用 请教一个问题,比如我对一个字符串 "硬盘驱动器" 做索引了以后, 搜索 "硬" 或者 "盘" 都不能搜索到,但是如果搜索"硬盘"就可以,这是什么问题呢?
lucene是按照分词切分的结果进行完整匹配查询的, "硬盘驱动器"被切分成“硬盘”“驱动”“驱动器”,但没有“硬" 和 "盘",(那样是单字切分),因此搜索不到,这个是lucene的基础概念,切记。 |
|
返回顶楼 | |
发表时间:2009-11-05
太棒了,请问有没有和nutch做集成的说明啊?
正在用nutch构建搜索引擎,还是菜鸟,希望能把中文分词先跑起来。 |
|
返回顶楼 | |
发表时间:2009-11-15
我用demo中的例子
String text = "IK Analyzer是一个结合词典分词和文法分词的中文分词开源工具包。它使用了全新的正向迭代最细粒度切分算法。"; 搜索 String keyword = "中文字典"; 怎么没有命中? |
|
返回顶楼 | |
发表时间:2009-11-15
roky 写道 我用demo中的例子
String text = "IK Analyzer是一个结合词典分词和文法分词的中文分词开源工具包。它使用了全新的正向迭代最细粒度切分算法。"; 搜索 String keyword = "中文字典"; 怎么没有命中? 因为这句话中根本没有“字典”这个词啊,改成“词典”就对了 |
|
返回顶楼 | |
发表时间:2009-11-15
roky 写道 我刚才试了下,中文 字典中间有空格就可以搜索的到,是不是解析的时候当成了两个关键字,因为刚接触这个,还没有来得及看其中的原理。 如果按照我刚才说的或的关系,确实会搜索一些不必要的信息。 但是有时候我确实想要搜索中文字典的时候符合中文字典,中文和字典的只要有一个能满足的就能够搜索的到 我在google上也试了下中文字典,就是我刚才说的或的关系 实际上对于Lucene而言,你可以使用标准的QueryParer来解析关键字,或者自己组织搜索逻辑。google的搜索逻辑要复杂多了,不是简单的OR或者AND。关键是要看你希望实现的应用的场景。 |
|
返回顶楼 | |
发表时间:2009-12-23
怎么不行啊,楼主
IndexWriter.MaxFieldLength.LIMITED , Field.Index.ANALYZED 和 isearcher.search(query , 5); 报错啊 我将IKAnalyzer3.0GA.jar部署于项目的lib目录中;IKAnalyzer.cfg.xml放到了src根下 为什么? |
|
返回顶楼 | |
发表时间:2009-12-23
最后修改:2009-12-23
引用 怎么不行啊,楼主 IndexWriter.MaxFieldLength.LIMITED , Field.Index.ANALYZED 和 isearcher.search(query , 5); 报错啊 我将IKAnalyzer3.0GA.jar部署于项目的lib目录中;IKAnalyzer.cfg.xml放到了src根下 为什么? 首先你用的是什么版本的Lucene,其次,IKAnalyzer的版本是多少?IK for lucene2.x的最新版是3.1.6GA,for Lucene3.0的是3.2statble |
|
返回顶楼 | |
发表时间:2009-12-23
谢了,楼主,lucene版本问题,我开始用的2.2的,换个2.9的就行了
我还问下,lucene和IKAnalyzer的版本太多了,到底 他们的哪个版本最好,稳定些 |
|
返回顶楼 | |
发表时间:2009-12-23
你可以是用IK Analyzer 3.2.0stable 对 Lucene2.9以上版本
|
|
返回顶楼 | |