发现一个诡异的问题!~~~~~~~~~~~~~~~

warmpoty 2010-03-28
用lucene检索时,希望按照评分返回排序结果,在建立所以时按不同域给了不同权重
比如title:setBoost(10),tag:setBoost(5),content:setBoost(3)

在检索时用了MultiFieldQueryParser,同时检索title,tag,content

但发现如果输入的词是2个汉字,则可以按评分返回结果
用的是TopDoc = searcher.search(query,10);
结果是,比如[docNum=20 score=20,docNum=19 score=19,docNum=18 score=18,....]

但如果大于2个字,比如农业银行,第一次可以按照上面结果的形式,返回带评分的结果,第二次就不行了,返回的评分都是0.0,结果的docNum也不一样了,是相同的关键字,用的mmseg4j做分词,非常的诡异

用的lucene 3.0.1,不知道是哪里的问题,调了好久都没有发现,大家帮忙分析分析!
warmpoty 2010-03-29
难道是lucene3的bug么?我试了2.9.2也是这样
warmpoty 2010-03-29
换了lucene2.4,没有问题了,看来是3的问题!~~
Global site tag (gtag.js) - Google Analytics