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没用过