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 相关文章推荐
php类
Nov 27 PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
初次接触php抽象工厂模式(Elgg)
Mar 21 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
Jul 22 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 PHP
php探针不显示内存解决方法
Sep 17 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 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+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
修改发贴的编辑功能
2007/03/07 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
2014/12/05 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
python实现树形打印目录结构
2018/03/29 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
用Python实现读写锁的示例代码
2018/11/05 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
PyTorch中的C++扩展实现
2020/04/02 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
Python如何对齐字符串
2020/07/30 Python
python类共享变量操作
2020/09/03 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
科级干部考察材料
2014/02/15 职场文书
师德师风个人整改措施
2014/10/27 职场文书
2015感人爱情寄语
2015/02/26 职场文书
求职自我评价怎么写
2015/03/09 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
Python获取百度热搜的完整代码
2021/04/07 Python
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
TS 类型兼容教程示例详解
2022/09/23 Javascript