如何在Rails 3应用程序中实现更快的搜索范围(SAYT)api

Ama*_*r S 9 mysql api thinking-sphinx ruby-on-rails-3 sunspot-rails

我的mysql数据库中有数百万条记录.我在Rails 3中为iPhone应用程序实现了一个普通的REST api,但是SAYT功能响应非常慢.搜索数据库并返回结果需要花费大量时间.如何提高性能?

我索引了我的桌子.我应该将所有方面看作是MySQL调优,还是应该使用rails sphinx或sunspot?这会有所帮助请帮助我提供所有专业建议.

mad*_*adi 1

我不确定添加更快的搜索是什么意思,但最好将搜索结果限制为 100,因为它涉及可用性。没有多少用户会搜索 100 条记录。

为了实现这样的搜索,我建议您包含关键字表。关键字表应包含记录 ID 和与其关联的关键字以及该关键字在数据库中被处理的次数。

因此,它将帮助您确定前一百条记录和最准确的搜索。

有许多算法也可以作为 MapReduce 进行搜索,并且同时运行。我认为您的移动设备技术无法处理地图缩减。

  • 对于移动设备上的第一页结果,我认为 5-10 个结果就足够了。 (2认同)