站内全文搜索采用什么方案比较快?

2016-07-26 17:32:54 +08:00
 wannianma

现在站点的内容到达了百万的量,突然发现原来基于 like 的站内搜索已经奇慢无比了,在网上搜了一下好像Sphinx是一种可行的方案,但还是有些纠结。希望大家帮忙提供一下思路

14847 次点击
所在节点    PHP
66 条回复
defunct9
2016-07-27 11:16:04 +08:00
ljbha007
2016-07-27 11:20:34 +08:00
中小型网站用 postgresql 自带的 fts 配合中文分词插件就够了
derek80
2016-07-27 12:27:30 +08:00
elasticsearch +1
towser
2016-07-27 13:21:36 +08:00
千万级 coreseek
更多 elasticsearch
hwsdien
2016-07-27 13:33:34 +08:00
直接上 Elasticsearch
minongbang
2016-07-27 14:05:27 +08:00
http://itzdm.com/ 我这个用的 xunsearch
hyiier
2016-07-27 14:12:45 +08:00
xunsearch 不需要解决中文分词的问题,我的网站就是用 xunsearch 做的全站搜索 www.yii-china.com 可以来看看效果
fengkuok
2016-07-27 14:22:34 +08:00
百万级别难道没人用 PostgreSQL 的全文检索吗?当然,一次性到位的话还是用 ES 靠谱。
Reign
2016-07-27 14:29:28 +08:00
说句 v2 政治不正确的话,我一直觉得 elasticsearch 真的是炒作出来的东西,坑实在太多,我每次用都气的想把我的显示器砸了
slixurd
2016-07-27 14:44:49 +08:00
@Reign 例如 ES 自己作死加了个 Type....
你遇到什么坑了,说来听听....学习一下
defunct9
2016-07-27 15:00:00 +08:00
@slixurd 为毛不加 Type ?加了 type 好断词吧
fork3rt
2016-07-27 15:09:36 +08:00
sphinx 挺好用的,文档也全。
slixurd
2016-07-27 15:19:20 +08:00
@defunct9
因为 Lucene 里面没有 Type 这种东西, ElasticSearch 的 Type 实际上是在整个搜索的外层加了个一个 BooleanQuery ,然后把 Type 作为一个 Filter 条件放进去搜索的伪 Type ,另外由于 5_4_x 的 BUG ,会导致性能变差大概 20%( 5_5 修复了这个问题
defunct9
2016-07-27 16:41:17 +08:00
@slixurd 没用过 lucene ,这样就只好自己写 java 的 lucene 了。比起来还是用 e 吧。
tianshiyeben
2016-07-27 16:42:43 +08:00
elasticsearch
wuhang89
2016-07-27 20:58:49 +08:00
elasticsearch+1
jimmy0017
2016-07-27 21:01:42 +08:00
elasticsearch 不错。但没试过
zwh8800
2016-07-27 22:22:02 +08:00
elasticsearch 不错, RESTful 的 api ,用着很舒服
fire5
2016-07-27 22:30:23 +08:00
Elasticsearch
loveyu
2016-07-27 22:44:41 +08:00
Elasticsearch 面对产品神奇的需求就是个渣渣

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

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

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

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

© 2021 V2EX