2012-11-11 43 views
0

雖然合併與獅身人面像增量索引,我得到這個錯誤:獅身人面像錯誤:無法合併索引

~: /usr/local/bin/indexer --merge myindex myindexDelta --rotate; 
Sphinx 2.0.6-release (r3473) 
Copyright (c) 2001-2012, Andrew Aksyonoff 
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com) 

using config file '/usr/local/etc/sphinx.conf'... 
merging index 'myindexDelta' into index 'myindex'... 
read 414.6 of 414.6 MB, 100.0% done 
FATAL: failed to merge index 'myindexDelta' into index 'myindex': failed to open /server/sphinx/data/myindex.sps: No such file or directory 

我上的sphinx.conf配置如下

source myindex 
{ 
    type = mysql 
    sql_host = localhost 
    sql_user = db 
    sql_pass = 
    sql_db  = db 
    sql_query_pre = SET SESSION query_cache_type=OFF 
    sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM mytable 
    sql_query_pre = SET NAMES utf8 

    sql_query = \ 
       SELECT id,title FROM mytable \ 
       WHERE id<=(SELECT max_doc_id FROM sph_counter WHERE counter_id=1) 
    sql_ranged_throttle = 0 
} 

source myindexDelta : myindex 
{ 
    sql_query_pre = SET SESSION query_cache_type=OFF 
    sql_query_pre = SET NAMES utf8 
    sql_query = \ 
      SELECT id,title FROM mytable \ 
      WHERE id > (SELECT max_doc_id FROM sph_counter WHERE counter_id=1) 
} 

index myindex 
{ 
    source = myindex 
    path = /server/sphinx/data/myindex 
    min_word_len = 3 
    min_infix_len = 0 
} 

index myindexDelta : myindex 
{ 
    source = myindexDelta 
    path = /server/sphinx/data/myindexDelta 
    min_word_len = 3 
    min_infix_len = 0 
} 

索引文件與目錄權限:

~: ls -lh /server/sphinx/data/ 
-rw-r--r-- 1 root root 0 Nov 11 21:40 myindexDelta.spa 
-rw-r--r-- 1 root root 290K Nov 11 21:40 myindexDelta.spd 
-rw-r--r-- 1 root root 328 Nov 11 21:40 myindexDelta.sph 
-rw-r--r-- 1 root root 106K Nov 11 21:40 myindexDelta.spi 
-rw-r--r-- 1 root root 0 Nov 11 21:40 myindexDelta.spk 
-rw------- 1 root root 0 Nov 11 21:40 myindexDelta.spl 
-rw-r--r-- 1 root root 0 Nov 11 21:40 myindexDelta.spm 
-rw-r--r-- 1 root root 223K Nov 11 21:40 myindexDelta.spp 
-rw-r--r-- 1 root root 1 Nov 11 21:40 myindexDelta.sps 
-rw-r--r-- 1 root root 0 Jul 3 21:17 myindex.spa 
-rw-r--r-- 1 root root 7.0G Jul 3 23:54 myindex.spd 
-rw-r--r-- 1 root root 290 Jul 3 23:54 myindex.sph 
-rw-r--r-- 1 root root 397M Jul 3 23:54 myindex.spi 
-rw-r--r-- 1 root root 0 Jul 3 23:54 myindex.spk 
-rw------- 1 root root 0 Nov 11 21:08 myindex.spl 
-rw-r--r-- 1 root root 0 Jul 3 21:17 myindex.spm 
-rw-r--r-- 1 root root 9.2G Jul 3 23:54 myindex.spp 

我確定代碼解釋了所有內容,添加說明並不是必需的元。

回答

2

我猜測原來的'myindex'是由不同版本的獅身人面像製成的。 (即不認爲在7月份發佈的2.0.6版本)

而在該版本更新的某個地方,.sps文件的要求已更改 - 新版本需要它,而舊版本沒有。您沒有字符串屬性,因此文件中沒有包含增量中的任何數據。

我建議或者用您當前版本的索引器重建myindex - 因此它們的版本是相同的。

或者,也許你可以嘗試複製myindexDelta.spsmyindex.sps。它不包含數據(1個虛擬字節!),所以它不應該損壞任何東西。只需要做一次。