killlist が正しく機能しない理由がわかりません。
私の sphinx.conf は次のようになります。
source main
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = sphinx
sql_port = 3306 # optional, default is 3306
sql_query_pre = SET NAMES utf8
sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM documents
sql_query = \
SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
FROM documents \
WHERE id<=( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
sql_attr_uint = group_id
sql_field_string = title
sql_attr_timestamp = date_added
sql_query_info = SELECT * FROM documents WHERE id=$id
}
source delta : main
{
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
FROM documents \
WHERE id>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
sql_query_killlist = \
SELECT id FROM documents WHERE date_added>=@last_reindex UNION \
SELECT id FROM documents_deleted WHERE deleted_ts>=@last_reindex
}
index main
{
source = main
path = C:/Sphinx/data/main
# ... all the other settings
}
# note how all other settings are copied from main,
# but source and path are overridden (they MUST be)
index delta : main
{
source = delta
path = C:/Sphinx/data/delta
}
データベースの 1 つのアイテムを更新すると、date_added が変更され、コンテンツも変更され、デルタ インデックスが更新された後でも古い結果が得られますか??