重塑思维狮身人面像索引在我的开发配置中需要几个小时,主要是因为几个巨大的表(我们没有使用增量更新)。即使当我改变另一个更小的表的索引时,由于大表的存在,重新索引也需要一个多小时。思考狮身人面像 - 以表格为单位重新塑造
有没有什么办法强制TS重新索引db中指定的表?
重塑思维狮身人面像索引在我的开发配置中需要几个小时,主要是因为几个巨大的表(我们没有使用增量更新)。即使当我改变另一个更小的表的索引时,由于大表的存在,重新索引也需要一个多小时。思考狮身人面像 - 以表格为单位重新塑造
有没有什么办法强制TS重新索引db中指定的表?
有没有办法告诉思维狮身人面像一次处理一个索引,但它通过Sphinx的索引器工具直接可能(而不是特别困难)。
indexer --config config/development.sphinx.conf model_core
有几件事情需要注意:除非你给你的索引定义自定义名称,它会默认为型号名称,downcased并强调,与_Core后缀。如果你有三角洲指数,他们会有一个_delta后缀。另外,如果狮身人面像正在运行,则将--rotate
标志添加到该呼叫中。
您可以指定尽可能多的索引。如果你想要一次处理所有的指标(就像思考斯芬克斯的耙子任务),--all
会为你做到这一点。
另外 - 我们在谈论多少条记录?你的索引定义有多复杂?几个小时的索引处理并不常见。在Sphinx索引中引用的关联使用的任何外键列上是否有数据库索引?
我为此写了一个(相当愚蠢的)BASH函数。请注意,它必须从您的项目的根目录运行。
# "rebuild" one index at a time
function rebuildts {
echo "rake ts:stop" && rake ts:stop
echo "rake ts:configure" && rake ts:configure
echo "Runnning indexer"
indexer --config config/development.sphinx.conf $1
echo "rake ts:start" && rake ts:start
}
用法:rebuildts my_model_core