当前位置: 代码迷 >> J2EE >> Compass + paoding中文分词的有关问题
  详细解决方案

Compass + paoding中文分词的有关问题

热度:317   发布时间:2016-04-22 02:55:50.0
Compass + paoding中文分词的问题
花了很长时间,终于大致整明白lucene和compass了,然后我用SSH + compass做了一个全文检索的示例程序,分词器使用的是paoding,但是,搜索结果不太理想。

比如,用户输入的关键词是“商业周刊”,分词后得到“商业”、“周刊”两个词,索引中有这么几条记录:

1、商业周刊
2、南都周刊
3、新周刊
4、凤凰周刊
5、三联生活周刊
6、商业频道
7、商业大厦
8、商业大亨
9、哈尔滨商业大学

现在的问题是,只显示出了第1条记录:商业周刊
我的目标是凡是含有“商业”或者“周刊”的记录都应该显示出来,也就是说某条记录中只要有一个词匹配上,那么它就应该被显示。现在的情况是必须要每个词都匹配了,才能被显示。

做个比方,我的想法是商业 or 周刊,不是商业 and 周刊

相关代码如下:

Java code
Compass compass = compassTemplate.getCompass();CompassSession session = compass.openSession();CompassHits hits = session.find("name:" + "商业 周刊");System.out.println("共 " + hits.getLength() + " 条匹配结果。");


急...在线等...

------解决方案--------------------
这不是分词的问题 是你查询时条件设置的问题
------解决方案--------------------
http://85600367.iteye.com/admin/blogs/855535这是我对lucene多条件查询的记录
你可以借鉴下 compass没用过