sphinx增量索引的一個(gè)問(wèn)題
更新時(shí)間:2011年06月14日 22:15:37 作者:
很早使用coreseek來(lái)實(shí)現(xiàn)對(duì)內(nèi)容的搜索,并使用主索引+增量索引來(lái)實(shí)現(xiàn)新發(fā)的內(nèi)容很快能搜索到,使用一直挺穩(wěn)定。
但最近發(fā)現(xiàn)增量的總是搜索不到,今天看了下運(yùn)行日志,有如下提示:
[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/article_delta.old.spa failed: No such file or directory
為提高增量索引速度,我將增量索引存放在/dev/shm中,看了下/dev/shm/sphinx/data/目錄下的內(nèi)容:
-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.sph
-rw-r--r-- 1 root root 46260 Apr 17 19:21 article_delta.new.spi
-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
奇怪,應(yīng)該要有article_delta.spd等文件,不應(yīng)該是.new的文件。
增量索引時(shí)是使用--rotate參數(shù)的,
bin/indexer --rotate news_delta
bin/indexer --rotate article_delta
在rotate時(shí),需要將原article_delta.spa重命名為article_delta.old.spa,然后將article_delta.new.spa重命名為article_delta.spa,再通知searchd重啟完成rotate。
想起應(yīng)該是前幾天凌晨重啟過(guò)機(jī)器,原文件都丟了,導(dǎo)致無(wú)法rotate:(
解決方法:
運(yùn)行:bin/indexer article_delta
創(chuàng)建了article_delta.spd,sph等文件。
再運(yùn)行:bin/indexer article_delta --rotate
運(yùn)行日志提示:rotating index 'article_delta': success
正常了!
把要做增量索引的命令寫(xiě)了個(gè)腳本,放在rc.local中,這樣重啟過(guò)機(jī)器就不會(huì)再出現(xiàn)這種問(wèn)題了。
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")
[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/article_delta.old.spa failed: No such file or directory
為提高增量索引速度,我將增量索引存放在/dev/shm中,看了下/dev/shm/sphinx/data/目錄下的內(nèi)容:
-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.sph
-rw-r--r-- 1 root root 46260 Apr 17 19:21 article_delta.new.spi
-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
奇怪,應(yīng)該要有article_delta.spd等文件,不應(yīng)該是.new的文件。
增量索引時(shí)是使用--rotate參數(shù)的,
復(fù)制代碼 代碼如下:
bin/indexer --rotate news_delta
bin/indexer --rotate article_delta
在rotate時(shí),需要將原article_delta.spa重命名為article_delta.old.spa,然后將article_delta.new.spa重命名為article_delta.spa,再通知searchd重啟完成rotate。
想起應(yīng)該是前幾天凌晨重啟過(guò)機(jī)器,原文件都丟了,導(dǎo)致無(wú)法rotate:(
解決方法:
運(yùn)行:bin/indexer article_delta
創(chuàng)建了article_delta.spd,sph等文件。
再運(yùn)行:bin/indexer article_delta --rotate
運(yùn)行日志提示:rotating index 'article_delta': success
正常了!
把要做增量索引的命令寫(xiě)了個(gè)腳本,放在rc.local中,這樣重啟過(guò)機(jī)器就不會(huì)再出現(xiàn)這種問(wèn)題了。
復(fù)制代碼 代碼如下:
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")
相關(guān)文章
PHP高級(jí)對(duì)象構(gòu)建 工廠(chǎng)模式的使用
工廠(chǎng)模式包含普通工廠(chǎng)模式和抽象工廠(chǎng)模式,但是,不管是什么工廠(chǎng)模式,它們都是有一個(gè)作用,那就是生成對(duì)象2012-02-02
PHP ADODB生成HTML表格函數(shù)rs2html功能【附錯(cuò)誤處理函數(shù)用法】
這篇文章主要介紹了PHP ADODB生成HTML表格函數(shù)rs2html功能,結(jié)合實(shí)例形式分析了php使用ADODB類(lèi)使用函數(shù)rs2html輸出結(jié)果集生成HTML表格相關(guān)操作技巧,并附錯(cuò)誤處理函數(shù)errorMsg用法,需要的朋友可以參考下2018-05-05
Laravel實(shí)現(xiàn)隊(duì)列的示例代碼
這篇文章主要為大家詳細(xì)介紹了Laravel實(shí)現(xiàn)隊(duì)列的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)和借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)游戲2023-02-02
Win2003下IIS+PHP+MySQL+Zend配置步驟詳解
Win2003下IIS+PHP+MySQL+Zend配置步驟詳解...2007-05-05
PHP 如何利用phpexcel導(dǎo)入數(shù)據(jù)庫(kù)
以下是對(duì)PHP中利用phpexcel導(dǎo)入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08
php使用socket調(diào)用http和smtp協(xié)議實(shí)例小結(jié)
這篇文章主要介紹了php使用socket調(diào)用http和smtp協(xié)議,結(jié)合實(shí)例形式總結(jié)分析了php使用socket發(fā)送http請(qǐng)求、post請(qǐng)求、SMTP請(qǐng)求、郵件發(fā)送等相關(guān)操作技巧,需要的朋友可以參考下2019-07-07

