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 zend 相对路径问题
Jan 12 PHP
PHP 文章中的远程图片采集到本地的代码
Jul 30 PHP
PHP正确解析UTF-8字符串技巧应用
Nov 07 PHP
深入php self与$this的详解
Jun 08 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
smarty简单入门实例
Nov 28 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
各种快递查询--Api接口
Apr 26 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 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 删除无限级目录与文件代码共享
2008/11/22 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
PHP制作用户注册系统
2015/10/23 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
详解javascript遍历方式
2015/11/11 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
使用微信小程序开发前端【快速入门】
2016/12/05 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
python 模拟登陆163邮箱
2020/12/15 Python
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
教师专业自荐信
2014/05/31 职场文书
大学专科求职信
2014/07/02 职场文书
24年收藏2000多部退役军用电台
2022/02/18 无线电