2010-06-16 108 views

回答

4

我想,沒有像獅身人面像表這樣的東西,只有索引文件。

如果你想刪除所有的獅身人面像索引,你當前有停止獅身人面像,並刪除您的獅身人面像的數據文件夾中的所有索引文件;那麼你可以再次運行索引器,這將創建新的索引文件。

+0

嘿,我有另一個問題。 我只從獅身人面像的結果中獲取文檔ID。 我需要從表中獲取所有列。 我將在conf文件或任何地方更改什麼。 如果你知道,請讓我通知。 – 2010-06-23 14:50:37

+0

你需要得到2件事情(可能你已經做了第一件事)。 1.將sphinx配置文件中的sql_query屬性設置爲「SELECT id,field1,field2 FROM myTable」,這樣sphinx將知道從哪裏獲取文檔 2. Make你的領域獅身人面像的屬性,以便獅身人面像知道要存儲在它的索引。例如,如果'field1'是一個整數,你應該在你的sphinx配置文件中有這樣一行:「sql_attr_uint = field1」。 有關更多信息,請參見sphinx文檔。 – 2010-06-24 21:00:52

0

我們通過sphinx索引器讓我們的CPU達到最大。獅身人面像接管了我們的磁盤「設備上沒有剩餘空間」......通過製作比我們的數據庫大4倍的70GB文件。我們發現我們的問題是我們在cron中運行索引器,每10分鐘一次...有時索引器需要10分鐘以上的時間......這些工作會堆積起來。解決方案:

ps aux |grep indexer 
kill ___;#job number of indexer processes 
ls -alS /var/lib/sphinx/data|head 
rm /var/lib/sphinx/data/*.tmp.* 
#adjust cron to run less frequently... 
#add disk space... 

所以在這種情況下,而不是刪除所有的獅身人面像指數...我只是刪除了已堆積起來的。tmp文件,並恢復噸的空間的方式。