自行实现Solr重复分词过滤器
来源:互联网 发布:淘宝剑三代练 编辑:程序博客网 时间:2024/06/05 06:44
最近在对搜索质量做优化,想解决一些文章通过重复关键词的堆砌而导致搜索该关键词排序很高的问题。比如搜索“游戏”,结果一篇叫做“游戏游戏游戏游戏游戏游戏游戏游戏”的文章始终排在第一位。
体验了一下百度贴吧,从高亮结果显示可以看出贴吧是有对这种堆砌重复关键词的情况做处理的。应该把连续重复出现的关键词忽略了。下图是贴吧搜索(相关度排序)“天天”的结果页面:
lucene/solr提供了类似功能木有?
找个了几个东西:
RemoveDuplicatesTokenFilter ,可惜只会移除在相同position上的分词,没用。
StopFilter ,可惜只能移除停用词,用不了。
自行实现Solr重复分词过滤器CustomerRemoveDuplicatesTokenFilter
模仿StopFilter来写,继承FilteringTokenFilter类,重写protected boolean accept()方法,当出现重复分词时就直接让accept方法返回false,把重复的词从索引分词中移除掉。这里遇到个小坑,就是一开始没有重写void reset()方法,结果出现各种神奇的问题。。。原来有状态的Filter是需要实现reset方法的,在里面把状态清除掉。
当前solr版本:solr4.4
- 自行实现Solr重复分词过滤器
- Solr分词器、过滤器、分析器。
- Solr分析器、分词器、过滤器(1)
- Solr分析器、分词器、过滤器(2)
- Solr的分析器,分词器和分词过滤器
- solr 的分析器,分词器和分词过滤器
- solr 实现 中文分词,IK Analyzer
- solr实现同义词查询及分词粒度
- solr分词
- solr中文分词
- solr+mmseg4j 中文分词
- solr中文分词(mmseg4j)
- Solr 中文分词器
- solr+mmseg4j 中文分词
- solr中文分词
- solr 自定义分词器
- solr自定义分词器
- solr+mmseg4j 中文分词
- 【转发】使用tomcat7创建异步servlet
- 研究:Liferay研究(六)Liferay中如何获取相应的portlet实例Id和portletId
- random+tput 更改屏幕显示
- 09-13 PHP study code
- SIGINT,SIGQUIT,SIGTERM,SIGQUIT 这些停止进程的信号有什么不同
- 自行实现Solr重复分词过滤器
- Cocos2d-X内存管理研究
- Django 静态文件和媒体文件配置
- ssziparchive 解压 和 压缩
- 如何使用Putty(SSH)登录管理Linux服务器
- IOC容器的经典解释
- 一口一口吃掉Hibernate(二)——别被世俗蒙蔽了双眼:Hibernate中Session之get和load方法的真正区别
- 量产工具简介(1)
- WinSCP如何在进行远程编辑和保存的时候保留原有的换行符格式不变?Preserve line ending (LF vs. CR/LF) when editing