【问题标题】:Speed up Sphinx?加速狮身人面像?
【发布时间】:2013-04-05 22:11:39
【问题描述】:

我有一个很大的网站,有近 600.000 篇被索引的文章,一些查询需要大约 200 毫秒才能执行。

我可以做些什么来加快速度吗?有什么经验可以分享吗?

我的应用是 Rails 3.0,带有 Thinking Sphinx 和最新版本的 Sphinx。

这是我搜索的配置:

searchd
{
  listen = < IP >:< PORT >
  log = < LOG PATH >
  query_log = < QUERY LOG PATH >
  pid_file = < PID FILE PATH >
  max_matches = 100000
  thread_stack = 1024K
  read_buffer = 512K
  read_unhinted = 64K
  max_filters = 512
}

任何帮助将不胜感激。

【问题讨论】:

  • 每次搜索 1/5 秒?您必须有一些严重的可扩展性问题才能比这更快地搜索 600,000 篇文章。
  • 首先你的 max_matches 相当高。但是您的“索引”设置更可能对速度产生影响,例如您的停用词和 hitless_words,请发布。还有你做的查询类型,以及你的服务器规格。你有分片吗?可以访问多个服务器?

标签: ruby-on-rails ruby sphinx thinking-sphinx


【解决方案1】:

对于 Thinking Sphinx,您是否在使用适用于 Rails 3.0 的最新版本 2.0.14?即使您是,最近也有一些更改添加了连接池/持久 Sphinx 连接,这提供了明显的速度提升,因为大多数搜索不会有设置套接字的开销。

您需要通过 git 使用最新版本:

gem 'thinking-sphinx',
  :git    => 'git://github.com/pat/thinking-sphinx.git',
  :branch => 'v2',
  :ref    => '6fbbbc0c5d'

也就是说,Barry 的评论值得关注,他对 Sphinx 有很多经验。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多