【发布时间】:2013-04-18 14:30:19
【问题描述】:
我正在尝试使用时间戳字段而不是文档中的示例中的 max_doc_id 来设置 main+delta 索引方案。
source main
{
sql_query_pre = \
REPLACE INTO sph_counter (counter_id, last_update_time) VALUES (1, NOW())
sql_query = \
SELECT id, filename, absolute_path, last_update_time \
FROM files \
WHERE last_update_time <= ( SELECT last_update_time FROM sph_counter WHERE counter_id=1)
}
source delta
{
sql_query = \
SELECT id, filename, absolute_path, last_update_time \
FROM files \
WHERE last_update_time > ( SELECT last_update_time FROM sph_counter WHERE counter_id=1)
sql_query_pre =
}
索引和合并按预期工作,但是main 源的sql_query_pre 永远不会更新sph_counter 表中的last_update_time。
我不确定我的问题可能出在哪里。
我通过执行以下操作来运行它:
re-index the delta (every 30 seconds)
还有:
merge delta into main (every 10 mins)
re-index the delta (after merge)
我认为合并将运行 sql_query_pre 以更新 sph_counter last_update_time 是不是错了?
【问题讨论】:
-
为什么你尝试使用时间戳字段而不是 max_doc_id 来实现索引方案?
标签: mysql indexing sphinx delta-index