docs의 예와 같이 max_doc_id 대신 timestamp 필드를 사용하여 기본 + 델타 인덱스 구성표를 설정하려고합니다.스핑크스에서 타임 스탬프 별 델타 인덱싱
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 대신 timestamp 필드를 사용하여 인덱스 체계를 구현하려고합니까? –