2011-01-10 65 views
4

我已閱讀獅身人面像文檔和各種資源,但我對維護主索引和增量索引的過程感到困惑。請讓我知道,如果這是正確的:如何更新獅身人面像的主要和三角洲索引

  • 有(按教程http://sphinxsearch.com/docs/1.10/delta-updates.html爲ID)

  • 更新增量索引每15分鐘last_update_time分區搜索索引的表。通過合併三角洲每小時

    indexer --rotate --config /opt/sphinx/etc/sphinx.conf delta 
    
  • 更新的主要指標:

    indexer --merge main delta --merge-dst-range deleted 0 0 --rotate 
    

預查詢SQL將更新last_update_time以增量索引只抓住已更新記錄>last_update_timeNOW(),它重新劃分索引

混淆:合併運行預查詢SQL嗎?

  • 主要更新索引後,立即更新增量索引進行清理:

    indexer --rotate --config /opt/sphinx/etc/sphinx.conf delta 
    

編輯:如何將記錄刪除,即使工作?由於增量索引將包含已刪除的記錄,因此只有在增量索引合併到main之後纔會從搜索查詢中刪除記錄?

回答

2

對付你需要好好看看killlist的刪除,它基本上定義清除標準:

http://sphinxsearch.com/docs/manual-1.10.html#conf-sql-query-killlist

在一個例子,我有我們建立我們的主每天清晨然後只需運行每5分鐘一次增量更新(包括kilist)。

在合併的東西,我不知道,因爲我從來沒有用過它。

+0

有什麼方法可以在Sphinx中實時刪除文件嗎?或者你是否總是需要等待三角洲指數重建?一個常見的用例是用戶想要刪除他發佈的內容。 – Simian

+0

在獅身人面像1.10-beta中,有一種實時索引的思想,它可以對sql語句執行sql語句(更新/刪除/插入)。如果你已經使用了標準索引,那麼我不這麼認爲。 – Ian

相關問題