网站的站内搜索如何实现?
这篇文章专访segmentfault说到:
我们从一开始就会把搜索作为一个优先解决的技术问题。我们在做站内搜索时花了很大的力气。最开始我们用的是Lucene的引擎做了一个Java的一个后端搜索服务,后来我们是把整个搜索全部转移到Redis平台上,用Redis来做站内的搜索,这样效率会比较高,而且搜索起来准确度比较高。
很想了解这个redis如何实现站内搜索的。 感谢知道的人指点方向, 先谢谢啦
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
搜索的最基本框架就是 分词 + 倒排索引 啊。权重什么的都是模型的细节(当然对于百度和google来说这个才是重头,要上pagerank什么的)。
redis的set操作,简直就是为了倒排索引定制的。
ElasticSearch肯定是MySQL之后第一个能想到的解决方案
ES是一把牛刀,如果是超大型站,花大量时间搭一个称心的搜索当然挺好。
要是只是中小型站,为了set一把牛刀花大量时间有点不值得。
其实完全可以用第三方站内搜索SaaS,5分钟即可快速接入。
国内做的比较好的,可以看看「卡拉搜索」一行代码就可以快速接入站内搜索。
推荐一下
其实做搜索的方法很多,可以参考这个回答 http://segmentfault.com/q/1010000000663373/a-1020000000702395
我用Lucene比较多,定制性比较强,但开发量和维护量稍大些,最近在尝试使用搜易站内搜索引擎,用在中小型数据量的网站上还是不错的。