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 25 PHP
用缓存实现静态页面的测试
Dec 06 PHP
MySQL GBK→UTF-8编码转换
May 24 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
浅析php原型模式
Nov 25 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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删除数组中特定元素的两种方法
2013/07/02 PHP
php实现将上传word文件转为html的方法
2015/06/03 PHP
PHP多进程编程实例详解
2017/07/19 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
微信JS接口大全
2016/08/25 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
使用python实现tcp自动重连
2017/07/02 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
python爬取音频下载的示例代码
2020/10/19 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
让生命充满爱演讲稿
2014/05/10 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
2015年校长新年寄语
2014/12/08 职场文书
佛光寺导游词
2015/02/10 职场文书
基层党建工作简报
2015/07/21 职场文书
导游词之无锡古运河
2019/11/14 职场文书