我想在我的网站上搜索文章 - 是否可以使用简单的'LIKE'语句或是否有更好的搜索算法用于MySQL? (重要的是效率很高)
答案 0 :(得分:14)
您应该考虑使用Full-Text Search 它也可以帮助您阅读Tradeoffs of MySQL LIKE vs Full-Text
答案 1 :(得分:14)
可以使用简单的“LIKE”语句,还是更好 搜索算法与MySQL一起使用? (重要的是效率很高)
如果提高效率很重要,那么我认为LIKE is absolutely not the way to go。
全文检索:392秒全文检索(缓存):272秒
全文布尔模式12秒全文布尔(缓存)11秒
Mnogosearch(外部)3.5秒Mnogosearch(外部缓存)1.06秒
Sphinx 0.23秒Sphinx缓存0.15秒
LIKE%...%30秒Sec LIKE%...%(缓存)29秒秒
可能Sphinx是最有效的方法,它也支持MySQL。说实话,我自己从未使用Sphinx,但是一些非常大的网站使用它。
设置另一个(可能是最后一个)替代方案可能更加困难。
我还认为MySQL full-text-search可能足够快且更容易使用。
答案 2 :(得分:0)
我会考虑使用Apache Solr https://lucene.apache.org/solr/ 或弹性搜索 http://www.elasticsearch.org/