首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

lucene同义词/原词排序有关问题

2013-03-10 
lucene同义词/原词排序问题刚刚写好了同义词功能,是用TokenFilter修改TokenStream,把同义词添加到TokenStr

lucene同义词/原词排序问题
刚刚写好了同义词功能,是用TokenFilter修改TokenStream,把同义词添加到TokenStream中,同时给每一个同义词Token的type设置为synonym。
不知道在那个地方方可以设置这些同义词的权重。
让同义词在搜索出的结果排序到原词搜出的结果后面。
[解决办法]
搜索结果进行reranking
[解决办法]
首先,你的需求确实很怪:既然是同义词为何不统一排序呢?
如果想要实现你的需求,我了解的一种方式就是,使用Payload数据,也就是在进行索引的时候,存储额外的信息到索引数据中,然后需要重写Lucene中某个Query,读取存储到索引中的Payload数据,从而干预排序。
例如:
对同义词分词解析的都打上标记,在修改Query的时候,对正常的分词得到的数据得分统一进行放大,比如都放大1000倍,而对于同义词分词的数据得分正常计算,这样综合排序的时候,同义词分词对应的数据在结果中就会全部排在后面,但是仍然保持正常的相关性。

热点排行