首頁 >後端開發 >php教程 >superhidden.exe sphinx增量索引的一個問題

superhidden.exe sphinx增量索引的一個問題

WBOY
WBOY原創
2016-07-29 08:45:371191瀏覽

但最近發現增量的總是搜尋不到,今天看了下運行日誌,有如下提示:
[Sun Apr 17 19:30:01.876 2011] [ 3400] WARNING: rotating index 'news_delta': cur to old rename failed: rename /dev/shm/sphinx/data/news_delta.spa to /dev/shm/sphinx/data/news_delta.old.spa failed: No such file or directory
[Sun Apr 17 19:30: 01.881 2011] [ 3400] WARNING: rotating index 'article_delta': cur to old rename failed: rename /dev/shm/sphinx/data/article_delta.spa to /dev/shm/sphinx/data/artle. No such file or directory
為提高增量索引速度,我將增量索引存放在/dev/shm中,看了下/dev/shm/sphinx/data/目錄下的內容:
-rw -r--r-- 1 root root 385762 Apr 17 19:21 article_delta.new.spd
-rw-r--r-- 1 root root 3713 Apr 17 19:21 article_delta.new.phs -rw-r--r-- 1 root root 0 Apr 17 19:21 article_delta.new.spk -rw-r--r-- 1 root root 0 Apr 17 19:21 article_delta.new.spm
-rw-r--r-- 1 root root 261402 Apr 17 19:21 article_delta.new. spp
奇怪,應該要有article_delta.spd等文件,不應該是.new的文件。
增量索引時是使用--rotate參數的,


複製程式碼 程式碼如下:

bin/indexer --rotate news_delta

bin/indexer --rotate article_delta


在rotate時,需要將原article_delta.spa重命名為article_delta.old.spa,然後將article_delta.spa重新命名為article_delta.old.spa,然後將article_delta.new.spa重命名命名為article_delta.spa,再通知searchd重啟完成rotate。

想起應該是前幾天凌晨重啟過機器,原文件都丟了,導致無法rotate:(
解決方法:
運行:bin/indexer article_delta
創建了article_delta.spd,sph等檔。腳本,放在rc.local中,這樣重啟過機器就不會再出現這種問題了。 🎜>
echo "start:" $(date +"%y-%m-%d %H:%M:%S")
cd /usr/local/coreseek/bin
./ indexer news_delta
./indexer article_delta
echo "end:" $(date +"%y-%m-%d %H:%M:%S")

以上就介紹了superhidden.exe sphinx增量索引的一個問題,包括了superhidden.exe方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn