频道栏目
IT货架 > > 正文
基于lucene的仿优酷视频搜索
网友分享于:Jun 12, 2018 11:40:04 PM    来源: IT货架   

本文旨在做一个lucene的搜索模板,提供类似于优酷的视频搜索服务。

 效果:

基于lucene3.6.1

由于数量少就没有分页,实际上是可以分页的,例子是20个结果一页。中文分词用的是IKAnalyzer2012.tag的作用在于增加匹配的权重,例子的tag是sfa.

既然是模板,当然主要是用了java设计模式里面的模板方法了。

 建索引的模板:

具体的实现子类:

调用建立索引模板:

实际上不用把需要展示的所有搜索结果项都写入lucene,只用把id之类的写入就可以了。lucene完成查询后取出id再从数据库查询一遍。例子只是为了简单方便才那样做的。

搜索模板:

搜索的实现子类:

工具类:

个人感觉优酷的视频搜索应该用的就是lucene或者solr构建的,因为它的搜索域的session cookie中有jsessionid,这个是即便手动从后台代码中显示更换名字都是不行,因为它默认就在servelet中给你加了,除非去改servelet的源码。

另外,lucene建索引的速度比sphinx慢很多,而查询速度也比sphinx慢一点。所以如果应用的大部分不是构建在java上或者应用不大,还是用sphinx就已经可以很好的满足上面那些查询条件的需求了。

转载请注明:TheViper


广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1