SphinxSearch的rt索引可以這樣理解嗎?假設前提:一個微博平臺,帖子都是存入到Mysql,搜索時候使用sphinx搜索。1)rt索引是什么情況下會進行使用,是否可以這樣理解,發(fā)布微博的時候,程序寫入到Mysql的同時,插入到Sphinx的rt索引中?還是說 程序只負責寫入MYSQL,然后crontab定時執(zhí)行 indexer --all --rotate更新到Sphinx索引中?但這樣rt索引一直都用不上?2)rt索引中的數(shù)據(jù)是什么進行清除,是否需要清除?還是每次重啟Sphinx會自動清除rt索引內容?3)當MySQL有新記錄數(shù)據(jù)寫入的時候,是如何更新到Sphinx中。只能執(zhí)行indexer --all --rotate進行把MySQL的數(shù)據(jù)更新到Sphinx中嗎?但這樣會有很大延遲,導致數(shù)據(jù)延遲。還是說相反,先寫入到Sphinx rt索引,再用腳本讀取再寫入到MySql?
1 回答

慕容3067478
TA貢獻1773條經驗 獲得超3個贊
rt索引其實就相當于一個在內存的數(shù)據(jù)表。更新mysql的同時更新rx索引。當然也可以使用隊列在后面跑更新。
rt索引應該不會在啟動的時候清除,需要自己執(zhí)行 TRUNCATE RTINDEX rt_index
可以參考stackoverflow
第三個問題應該是關于增量索引的問題。一般每天更新一個全量索引,然后當天的數(shù)據(jù)變化的更新通過增量索引實現(xiàn)。比如數(shù)據(jù)表有一個update_time字段(假設刪除只是軟刪除),則每次獲取 update_time大于最后創(chuàng)建全量索引的時間 的數(shù)據(jù)更新增量索引。
添加回答
舉報
0/150
提交
取消