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 相关文章推荐
获得Google PR值的PHP代码
Jan 28 PHP
改变Apache端口等配置修改方法
Jun 05 PHP
php实现mysql同步的实现方法
Oct 21 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
php判断当前操作系统类型
Oct 28 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
PHP使用文件锁解决高并发问题示例
Mar 29 PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 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截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
JTrackBar水平拖动效果
2007/07/15 Javascript
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
Bootstrap每天必学之日期控制
2016/03/07 Javascript
JS之相等操作符详解
2016/09/13 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
银行员工职业规划范文
2014/01/21 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
我的小天地教学反思
2014/04/30 职场文书
企业文化标语口号
2014/06/09 职场文书
交通事故协议书范文
2014/10/23 职场文书
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL