我正在尝试使用时间戳字段而不是文档中的示例中的 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 =
}
索引和合并按预期工作,但是sql_query_pre
源main
永远不会更新表last_update_time
中的sph_counter
。
我不确定我的问题可能出在哪里。
我通过执行以下操作来运行它:
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
?