思考狮身人面像 - 每桌重新编制索引

Bob*_*ore 4 ruby-on-rails thinking-sphinx

在我的开发配置中重新索引思考Sphinx索引需要几个小时,主要是因为几个巨大的表(我们没有使用增量更新).即使当我将索引更改为另一个更小的表时,由于存在大型表,重新索引也需要一个多小时.

有没有办法强制TS只重新索引数据库中的指定表?

pat*_*pat 11

没有办法告诉Thinking Sphinx一次处理一个索引,但是通过Sphinx的索引器工具直接可以(而不是特别困难).

indexer --config config/development.sphinx.conf model_core
Run Code Online (Sandbox Code Playgroud)

需要注意的一些事项:除非您提供索引定义自定义名称,否则它将默认使用带有_core后缀的模型名称,下标和下划线.如果你有delta指数,它们会有一个_delta后缀.此外,--rotate如果Sphinx正在运行,请将该标志添加到该调用.

您可以根据需要指定任意数量的索引.如果您想要一次处理所有索引(就像Thinking Sphinx的rake任务一样),--all那么你会这样做.

另外 - 我们谈论的记录有多少?您的索引定义有多复杂?索引处理的几个小时根本不常见.在Sphinx索引中引用的关联使用的任何外键列上是否有数据库索引?