【发布时间】: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