我有一個Delta-index更新的問題。
如果文檔ID小於max_doc_id
,則不包含在增量索引中,因此只要主索引未更新,更改將不會應用此數據。
假設我們有1000個數據。
如果更改了第50個文檔,則delta-index中不會有任何更改。
增量索引如何包含文檔更改,其編號小於max_doc_id
?
有沒有一種方式,增量指數包括數據更新,以便我們不必等待主指數運行?sphinxsearch增量指數更新
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)
}
我不理解你? 無論如何,謝謝 – navid
它與使用時間戳非常相似,只是明確地保持增量序列。每次更新文檔時,都會明確更新修訂版本。同樣的結果 - 可以找到哪些文件已經改變。要麼工作 – barryhunter