我对 Delta-index 更新有疑问。
如果文档 id 小于max_doc_id
, 不包含在 delta-index 中,所以只要 main-index 没有更新,更改将不会应用此数据。
假设我们有 1000 个数据。
如果第 50 个文档发生更改,则 delta-index 将不会发生更改。
delta-index 将如何包含其 id 小于的文档更改max_doc_id
?
有没有办法让 delta-index 包含更新的数据,这样我们就不必等待 main-index 运行?
CREATE TABLE sph_counter
(
counter_id INTEGER PRIMARY KEY NOT NULL,
max_doc_id INTEGER NOT NULL
);
source main
{
# ...
sql_query_pre = SET NAMES utf8
sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM documents
sql_query = SELECT id, title, body FROM documents \
WHERE id<=( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
}
source delta : main
{
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, title, body FROM documents \
WHERE id>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
}