![](/img/trans.png)
[英]Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL? [closed]
[英]User search use MySQL LIKE or integrate a search engine (such as solr, sphinx, lucene etc.)?
在我的mysql数据库中,我有一个由37,000个(或其左右)用户组成的用户表。
当用户在网站上搜索另一个用户时,我执行一个简单的通配符(例如LIKE'{name}%})以返回找到的用户。
使用诸如solr这样的搜索引擎进行“喜欢”搜索会更有效,更快捷吗? 此外? 我相信Solr可以使用通配符查询( http://www.lucidimagination.com/blog/2009/09/08/auto-suggest-from-popular-queries-using-edgengrams/ )
老实说,使用LIKE查询目前并没有那么慢,但是随着用户数量的增加,它会变得越来越慢。 任何提示或建议,不胜感激。
大约一个月前,我们遇到了类似的情况,我们的数据库大约为33k左右,由于我们的引擎是InnoDB,因此我们无法利用MySQL全文搜索功能(而且它很钝)。
我们决定实施sphinxsearch(http://www.sphinxsearch.com),结果的确给我们留下了深刻的印象(我成为了它的“粉丝”)。
如果我们对所有行的许多列(左联接的负载)进行大型索引搜索,则实际上针对MySQL'LIKE'对应对象的查询响应时间减少了一半。
尽管我们已经使用了很长时间-如果您打算为将来的可靠性而建,我还是建议您使用狮身人面像。
如果搜索词必须至少包含3个字符,则可以加快搜索速度,并使用3个字符的索引大小对搜索列进行索引。
它实际上已经内置在MySQL中: http : //dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
我们将solr用于此目的,因为即使在索引了数百万个文档的情况下,您也可以在1-2毫秒内进行搜索。 我们使用数据导入处理程序镜像mysql实例,然后在Solr上搜索。
正如neville指出的那样,全文搜索内置在mysql中,但是solr性能要好得多,因为它是全文搜索引擎而诞生的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.