首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户搜索使用MySQL或集成搜索引擎(如solr,sphinx,lucene等)?

用户搜索使用MySQL或集成搜索引擎(如solr,sphinx,lucene等)?
EN

Stack Overflow用户
提问于 2011-09-23 18:43:56
回答 4查看 690关注 0票数 1

在我的mysql数据库中,我有一个用户表,由37,000个(或大约)用户组成。

当一个用户在站点上搜索另一个用户时,我执行一个简单的like通配符(即LIKE '{name}%})来返回找到的用户。

使用像solr这样的搜索引擎来做我的“喜欢”搜索,会不会更高效、更快?更进一步?我相信在solr中我可以使用通配符查询(http://www.lucidimagination.com/blog/2009/09/08/auto-suggest-from-popular-queries-using-edgengrams/)

老实说,目前使用LIKE查询并不是那么慢,但是随着用户数量的增加,它会变得更慢。任何提示或建议都是非常感谢的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-23 21:54:54

大约一个月前我们遇到过类似的情况,我们的数据库大约有33k~,由于我们的引擎是InnoDB,我们不能使用MySQL全文搜索功能(这是相当直率的)。

我们决定实现sphinxsearch (http://www.sphinxsearch.com),结果给我们留下了深刻的印象(我成了它的粉丝)。

如果我们对所有行的许多列(左连接负载)进行大型索引搜索,那么相对于MySQL的“LIKE”对应项,我们实际上将查询响应时间减半。

尽管我们使用它的时间不长--如果你打算为未来的灾难而构建,我推荐你使用sphinx。

票数 1
EN

Stack Overflow用户

发布于 2011-09-23 18:51:43

如果搜索字必须至少包含3个字符才能开始搜索,并使用3个字符的索引大小对搜索列进行索引,则可以加快速度。

票数 0
EN

Stack Overflow用户

发布于 2011-09-23 19:07:47

它实际上已经内置到MySQL中了:http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7527778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档