我希望代码不会导致服务器上的负载在php / mysql中找到类似的帖子
我尝试
MATCH (post) AGAINST ('string string')
但它导致服务器上的负载很多,所以它停止了我的服务器
我的数据库中有超过4,125,274张帖子
请帮助mE
答案 0 :(得分:4)
虽然全文索引会有所帮助,但如果你想多次加载类似的项目,它仍然会很慢。我们有一个实现,其中包含大约700万条带全文的帖子记录,如果我们只依赖mysql,则可能需要长达一分钟的时间进行搜索。
一个很好的选择是拥有像sphinx http://sphinxsearch.com/这样的搜索服务器,它可以创建自己的索引和缓存,速度要快得多。 它简单而有效,被许多大的地方使用,如urbandictionary,craiglist,mozilla等。
如果您只想在mysql查询中执行此操作,并且如果您不想多次执行一次搜索,请尝试在memcached上缓存返回的ID。
答案 1 :(得分:0)
假设你已经在帖子上有一个全文索引,这没有帮助你应该考虑在你的帖子上加入一个专用的搜索引擎,比如Lucene(不一定是php实现)