除了 Elasticsearch 还有什么技术能做京东淘宝那样的属性筛选

2017-05-04 21:57:22 +08:00
 hiboshi

目前项目里用的都是 sql where 条件拼接的,爬虫一来很容易挂了,有什么解决方案么。直接 cache key 会比较多

6392 次点击
所在节点    程序员
21 条回复
gouchaoer
2017-05-04 22:05:13 +08:00
商品分类以及排序推荐那是非常困难的任务,没团队很难搞定的
undeflife
2017-05-04 22:11:02 +08:00
这种筛选是给人用的 而你需要爬虫抓取的是最终的产品页 给爬虫一个单独的入口 暂时可以缓解你这个爬虫一来就挂的情形
wudanyang
2017-05-04 22:51:25 +08:00
solr
hiboshi
2017-05-04 23:06:41 +08:00
@undeflife 可是这样只能防止爬虫不能防止恶意扫站吧
hiboshi
2017-05-04 23:07:02 +08:00
@gouchaoer 有什么想法没有?
pierre1994
2017-05-05 00:22:13 +08:00
es 做不了吧
jarlyyn
2017-05-05 00:36:27 +08:00
爬虫挂了,不是应该先缓存 /限制访问频率么?

key 多也不需要你收官算吧?
terranboy
2017-05-05 00:42:38 +08:00
把数据扁平化 ES 其实也是这个意思
ihuotui
2017-05-05 01:06:44 +08:00
静态化 freemaker ftl
byfar
2017-05-05 09:00:50 +08:00
爬虫一来很容易挂了,你确定问题出在数据库上?数据库单独放一实例上或使用云服务?

Elasticsearch 不用的话,可以考虑一下 sphinx ( http://sphinxsearch.com/ )

当然还是要先定位问题,找到需求点再改造。
yanzixuan
2017-05-05 09:04:17 +08:00
@byfar sphinx 是静态的,es 是动态的,各有优劣。
至于 solr 感觉配置好烦,还不如 es。
不知道为啥 LZ 不愿意用 ES。
byfar
2017-05-05 10:23:07 +08:00
@yanzixuan sphinx 支持动态索引 ( http://sphinxsearch.com/docs/current.html#rt-indexes

另外静态也可以改造成近时时的,看需求选择。

Elasticsearch 没有试过,不敢评论,不过我知道很火。
walkershow
2017-05-05 10:35:29 +08:00
我们网站都用 sphinx,快,省内存
jianzhiyao
2017-05-05 10:49:33 +08:00
if($http_user_agent ~* "spider")
hiboshi
2017-05-05 11:53:01 +08:00
@jianzhiyao 这样不能防止恶意爬虫
undeflife
2017-05-05 12:36:15 +08:00
@hiboshi 恶意爬虫就 ban 掉, 设置请求频率 用运维手段是可以处理的
你现在碰到的问题跟实现方式(拼接查询条件)并没有太大关系,爬虫一来就挂,是为什么挂? 数据库连接数太小还是查询效率太低? 如果不能找出问题真正的原因,换一种解决方案可能还是挂.
hiboshi
2017-05-05 12:40:38 +08:00
@undeflife 都存在,目前一部分 是想完善这部分代码段,我们的商品比较多 几十万种,爬虫部分也在封 IP 至于限制频率目前在研究 apache 的相关模块。
undeflife
2017-05-05 12:46:38 +08:00
@hiboshi Elastic 挺好的 配置使用都很简单, 除了新版对机器配置要求高点..
hiboshi
2017-05-05 12:51:47 +08:00
@undeflife sphinx 呢,这个不太清楚。
sunchen
2017-05-05 12:55:00 +08:00
属性全部扁平化,类似 tag,至于动态排序那就只能硬抗了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX