그러나 최근에는 증분 항목을 항상 검색할 수 없다는 것을 발견했습니다. 오늘 실행 로그를 살펴본 결과 다음과 같은 메시지가 표시되었습니다.
[Sun Apr 17 19:30:01.876 2011] [3400] WARNING:rotating index 'news_delta': cur에서 이전 이름 바꾸기 실패: /dev/shm/sphinx/data/news_delta.spa의 이름을 /dev/shm/sphinx/data/news_delta.old.spa로 변경 실패: 해당 파일 또는 디렉터리 없음
[일 4월 17일 19일: 30: 01.881 2011] [ 3400] 경고: 인덱스 'article_delta' 회전: cur를 이전 이름으로 바꾸지 못했습니다. /dev/shm/sphinx/data/article_delta.spa를 /dev/shm/sphinx/data/article_delta.old.spa로 이름 바꾸기 실패: 해당 파일 또는 디렉터리 없음
증분 색인 속도를 향상시키기 위해 증분 색인을 /dev/shm에 저장하고 /dev/shm/sphinx/data/ 디렉터리의 내용을 살펴보았습니다.
-rw -r--r-- 1 루트 루트 385762 4월 17일 19:21 Article_delta.new.spd
-rw-r--r-- 1 루트 루트 3713 4월 17일 19:21 Article_delta.new.sph
-rw-r--r-- 1 루트 루트 46260 4월 17일 19:21 Article_delta.new.spi
-rw-r--r-- 1 루트 루트 0 4월 17일 19:21 Article_delta.new. spk
-rw-r--r-- 1 루트 루트 0 4월 17일 19:21 Article_delta.new.spm
-rw-r--r-- 1 루트 루트 261402 4월 17일 19:21 Article_delta. new.spp
이상한데 .new 파일이 아니라 Article_delta.spd 같은 파일이 있어야 합니다.
--rotate 매개변수는 증분 인덱싱에 사용됩니다.
코드 복사 코드는 다음과 같습니다.
bin/indexer --rotate news_delta
bin/indexer --rotate Article_delta
코드 복사 코드 <.>
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의 내용을 포함하여 superhidden.exe 스핑크스 증분형 인덱스의 문제점을 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.