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 相关文章推荐
使用 MySQL 开始 PHP 会话
Dec 21 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
Yii中使用PHPExcel导出Excel的方法
Dec 26 PHP
php截取字符串函数分享
Feb 02 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
php 7新特性之类型申明详解
Jun 06 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 PHP
TP5框架请求响应参数实例分析
Oct 17 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 引用文件技巧
2010/03/02 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
js实现表格字段排序
2014/02/19 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
jquery实现上传图片功能
2020/06/29 jQuery
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
Python自动创建Excel并获取内容
2020/09/16 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
毕业证委托书范文
2014/09/26 职场文书
租房协议书范例
2014/10/14 职场文书
师范生教育见习总结
2015/06/23 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python
python scrapy简单模拟登录的代码分析
2021/07/21 Python
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS