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 相关文章推荐
福利彩票幸运号码自动生成器
Oct 09 PHP
php email邮箱正则
Oct 08 PHP
PHP查询MySQL大量数据的时候内存占用分析
Jul 22 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
浅谈php冒泡排序
Dec 30 PHP
UTF-8正则表达式如何匹配汉字
Aug 03 PHP
解决php表单重复提交实现方法
Sep 29 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
CI框架常用函数封装实例
Nov 21 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
PHP中Static(静态)关键字功能与用法实例分析
Apr 05 PHP
PHP执行系统命令函数实例讲解
Mar 03 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
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
php简单提示框alert封装函数
2010/08/08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
web.py获取上传文件名的正确方法
2014/08/26 Python
mac系统安装Python3初体验
2018/01/02 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
基于python图像处理API的使用示例
2020/04/03 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
python import 上级目录的导入
2020/11/03 Python
python 如何上传包到pypi
2020/12/24 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
C#面试题问题集
2016/04/02 面试题
回门宴答谢词
2014/01/13 职场文书
小班幼儿评语大全
2014/04/30 职场文书
交通文明倡议书
2014/05/16 职场文书
应届毕业生求职信
2014/05/26 职场文书
世界遗产的导游词
2015/02/13 职场文书
课改心得体会范文
2016/01/25 职场文书
iPhone13再次曝光
2021/04/15 数码科技