论坛首页 Java企业应用论坛

发布IKAnnlyzer3.2.0稳定版 for Lucene3.0

浏览 28150 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-01-12   最后修改:2010-01-12
之前用庖丁,在搜索
“日常用语8000句(102) - 断念、绝望”
可以把有'日常用语"的其他的都可以搜索出来,不过用了这个就不行了

我是用的
query = IKQueryParser.parse("title",queryString);

是不是就是说分词没有起作用?
0 请登录后投票
   发表时间:2010-01-12  
刚看到lucene3.0带有SmartChineseAnalyzer
0 请登录后投票
   发表时间:2010-01-12  
zxzheaven 写道
之前用庖丁,在搜索
“日常用语8000句(102) - 断念、绝望”
可以把有'日常用语"的其他的都可以搜索出来,不过用了这个就不行了

我是用的
query = IKQueryParser.parse("title",queryString);

是不是就是说分词没有起作用?


IKQueryParser默认把“日常用语8000句”解析为“日常”and“用语”and“8000”and“句”,如果你想使用标准的QueryParser,就可以搜索你要的那种结果了
0 请登录后投票
   发表时间:2010-01-12  
zxzheaven 写道
刚看到lucene3.0带有SmartChineseAnalyzer

那个就是中科院算法的java版了,不过貌似用的是1.0的算法,2.0和3.0算法都是商用的,需要付费。
0 请登录后投票
   发表时间:2010-01-13  
linliangyi2007 写道
zxzheaven 写道
之前用庖丁,在搜索
“日常用语8000句(102) - 断念、绝望”
可以把有'日常用语"的其他的都可以搜索出来,不过用了这个就不行了

我是用的
query = IKQueryParser.parse("title",queryString);

是不是就是说分词没有起作用?


IKQueryParser默认把“日常用语8000句”解析为“日常”and“用语”and“8000”and“句”,如果你想使用标准的QueryParser,就可以搜索你要的那种结果了


谢谢你的回复,不过我不太明白为什么“日常用语8000句”解析为“日常”and“用语”and“8000”and“句”这样搜索不出来?

默认的是 “或” 的关系吗?
0 请登录后投票
   发表时间:2010-01-13  
现在IK 版本升级了,使用3.2
使用sort1.4版本,升级Lucene到3.0,sort1.4范例中为2.9.1 版本,升级到3.0后,
替换掉jar包,启动发现找不到
严重: java.lang.NoClassDefFoundError: org/apache/lucene/search/ConstantScoreRan
eQuery
        at org.apache.solr.handler.admin.AdminHandlers.inform(AdminHandlers.jav
:82)
        at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.ja
a:486)

3.0已经删除掉了ConstantScoreRaneQuery.java ,可是sort1.4中还引用,这个问题应该怎么解决?
0 请登录后投票
   发表时间:2010-01-13  
songzi0206 写道
linliangyi2007 写道
songzi0206 写道
whaosoft 写道
lucene 有点怪异 无法理解为什么不向下兼容~~ ~
对了 我在用compass 不知道能不能和你的这个结合呢?
不过我能用庖丁


我之前也用compass,但是性能测试下来貌似并发搜索部分性能达不到预期啊,一般搜索500个并发平均响应时间1100ms,复杂一点搜索还出现过死锁,不知道ls有没有遇到这种情况。


老实说,既然是全文检索,文件数据库比RDB要快的多。你把索引存数据库,中间再由JDBC协议转一手,可定不能高并发了。


我没有把索引存在数据库中,貌似并发搜索部分的瓶颈在compass,直接在lucene基础上写要好不少

真不好意思 我今天才看见回帖 感谢大家的关注 我用compass 完全因为我们公司现在的框架 由于框架是我用我之前公司改的 而且持久层用hibernate 还要用配置文件那样写 所以我只能用compass了 而且我也不好推翻自己的框架呀

确实他很慢我感觉 简直有点无法忍受 后来我没叫compass和spring的事务结合起来 查索引时不查数据库了 现在速度还能将就  用compass 主要因为我要坚持我们 要返回pojo的原因 感觉挺方便就嫩么用了 不过朋友推荐我 用sphinx 不知道有用过的没?
0 请登录后投票
   发表时间:2010-01-13  
talangniao 写道
现在IK 版本升级了,使用3.2
使用sort1.4版本,升级Lucene到3.0,sort1.4范例中为2.9.1 版本,升级到3.0后,
替换掉jar包,启动发现找不到
严重: java.lang.NoClassDefFoundError: org/apache/lucene/search/ConstantScoreRan
eQuery
        at org.apache.solr.handler.admin.AdminHandlers.inform(AdminHandlers.jav
:82)
        at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.ja
a:486)

3.0已经删除掉了ConstantScoreRaneQuery.java ,可是sort1.4中还引用,这个问题应该怎么解决?


solr1.4目前支持的是Lucene2.9啊,这个我就没办法了,不过好在IK3.2是支持Lucene2.9的
0 请登录后投票
   发表时间:2010-01-13  
zxzheaven 写道
linliangyi2007 写道
zxzheaven 写道
之前用庖丁,在搜索
“日常用语8000句(102) - 断念、绝望”
可以把有'日常用语"的其他的都可以搜索出来,不过用了这个就不行了

我是用的
query = IKQueryParser.parse("title",queryString);

是不是就是说分词没有起作用?


IKQueryParser默认把“日常用语8000句”解析为“日常”and“用语”and“8000”and“句”,如果你想使用标准的QueryParser,就可以搜索你要的那种结果了


谢谢你的回复,不过我不太明白为什么“日常用语8000句”解析为“日常”and“用语”and“8000”and“句”这样搜索不出来?

默认的是 “或” 的关系吗?


是的。and关系一定是要求几个词都出现在文档的同一field中,这将提高命中率,但降低召回率。如果你的查询短语是“日常 用语 8000局”,那么带空格的短语IKQueryParser会解析为or
0 请登录后投票
   发表时间:2010-01-13  
对了 lz 你经常上什么 聊天工具呢?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics