sphinx增量索引的一个问题
作者:bea
但最近发现增量的总是搜索不到,今天看了下运行日志,有如下提示: [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 fil
但最近发现增量的总是搜索不到,今天看了下运行日志,有如下提示:
[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/目录下的内容:
-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
奇怪,应该要有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.new.spa重命名为article_delta.spa,再通知searchd重启完成rotate。
想起应该是前几天凌晨重启过机器,原文件都丢了,导致无法rotate:(
解决方法:
运行:bin/indexer article_delta
创建了article_delta.spd,sph等文件。
再运行:bin/indexer article_delta --rotate
运行日志提示:rotating index 'article_delta': success
正常了!
把要做增量索引的命令写了个脚本,放在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")
有用 | 无用
[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/目录下的内容:
-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
奇怪,应该要有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.new.spa重命名为article_delta.spa,再通知searchd重启完成rotate。
想起应该是前几天凌晨重启过机器,原文件都丢了,导致无法rotate:(
解决方法:
运行:bin/indexer article_delta
创建了article_delta.spd,sph等文件。
再运行:bin/indexer article_delta --rotate
运行日志提示:rotating index 'article_delta': success
正常了!
把要做增量索引的命令写了个脚本,放在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")
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- PHP array操作10个小技巧分享
- php 缩略图实现函数代码
- php中随机显示图片的函数代码
- 使用php shell命令合并图片的代码
- php whois查询API制作方法
- PHP字符编码问题之GB2312 VS UTF-8解决方法
- PHP读取网页文件内容的实现代码(fopen,curl等)
- php中获取指定IP的物理地址的代码(正则表达式)
- PHP学习笔记 (1) 环境配置与代码调试
- php开发过程中关于继承的使用方法分享
- php设计模式 Command(命令模式)
- php学习笔记 面向对象中[接口]与[多态性]的应用
- php smarty 二级分类代码和模版循环例子
- Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
- php中session_unset与session_destroy的区别分析
- 不重新编译PHP为php增加openssl模块的方法
- php的memcached客户端memcached
- PHP模块 Memcached功能多于Memcache
- php模块memcache和memcached区别分析