sphinx增量索引的一个问题


Posted in PHP onJune 14, 2011

但最近发现增量的总是搜索不到,今天看了下运行日志,有如下提示:

[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 相关文章推荐
FirePHP 推荐一款PHP调试工具
Apr 23 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
浅析十款PHP开发框架的对比
Jul 05 PHP
php curl模拟post请求小实例
Nov 13 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
php自定义扩展名获取函数示例
Dec 12 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
批量获取memcache值并按key的顺序返回的实现代码
Jun 14 #PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 #PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 #PHP
php学习笔记 面向对象的构造与析构方法
Jun 13 #PHP
php学习笔记 类的声明与对象实例化
Jun 13 #PHP
php学习笔记 PHP面向对象的程序设计
Jun 13 #PHP
php学习笔记 数组的常用函数
Jun 13 #PHP
You might like
PHP 采集程序 常用函数
2008/12/18 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
javascript数组使用调用方法汇总
2007/12/08 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
详解JavaScript树结构
2017/01/09 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
python 解析html之BeautifulSoup
2009/07/07 Python
python继承和抽象类的实现方法
2015/01/14 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
python实现维吉尼亚加密法
2019/03/20 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
美国正宗设计师眼镜在线零售商:EYEZZ
2019/03/23 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
团购业务员岗位职责
2014/03/15 职场文书
整改报告格式
2014/11/06 职场文书
成绩报告单家长评语
2014/12/30 职场文书
消防演习通知
2015/04/25 职场文书
运动会加油稿50字
2015/07/21 职场文书
ant design charts 获取后端接口数据展示
2022/05/25 Javascript