Lucene查询的问题
grantbb
2008-03-13
索引的标题是:“中国队勇夺世界杯 ”
如果是的用户输入:勇夺中国队世界杯 的时候可以搜索到这条记录。 |
|
imjl
2008-03-13
这个和分词相关。我对分词这块比较薄弱。
还有种解决方式,那就是相似词,大概意思就是对已知的常用词语建立一个映射关系 |
|
javaeyes
2008-03-14
这个问题,搜索引擎一个需求就是要找出这样的内容。
如果你真的不想要,发这个查询的时候两边加上""号 |
|
dikar
2008-03-17
一个涉及到的是词库的建立,比如说“中国队”“世界杯”就应该被加入到词库
第二个问题是你搜索的时候的跨度是多少,简单的说两个被分的词之间间隔有多少。 索引是这个:中国队勇夺世界杯,他分词的时候就是“中国队”“勇夺”“世界杯”。 勇夺中国队世界杯 被搜索分词的时候被分为“勇夺”“中国队”“世界杯” 假如说他是按照OR查询,则应该可以查到你上面的索引,只要有一个就可以。 假如说他是按照AND查询,对你的搜索词检索时,他发现 “中国队”和“世界杯”之间的跨度为2(中间是勇夺两个字),“勇夺”和“世界杯”之间的跨度是0,所以根据检索结果为跨度最小,所以就把你的查询返回了。至于“勇夺”和“中国队”之间的跨度可以理解为超过了最大跨度。对于综合跨度可能还有个算法公式,我还没看过。 |