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网上调查系统
Oct 09 PHP
php的正则处理函数总结分析
Jun 20 PHP
php命名空间学习详解
Feb 27 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
php实现微信扫码支付
Mar 26 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP双向链表定义与用法示例
Jan 31 PHP
php微信开发之关键词回复功能
Jun 13 PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
PHP处理会话函数大总结
2015/08/05 PHP
php实现点击可刷新验证码
2015/11/07 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
JQuery选择器特辑 详细小结
2012/05/14 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
Python使用回溯法子集树模板解决迷宫问题示例
2017/09/01 Python
python在非root权限下的安装方法
2018/01/23 Python
python实现扫描日志关键字的示例
2018/04/28 Python
使用Python进行目录的对比方法
2018/11/01 Python
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
python获取栅格点和面值的实现
2020/03/10 Python
python如何对链表操作
2020/10/10 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
预备党员党课思想汇报
2014/01/13 职场文书
家长对孩子评语
2014/01/30 职场文书
接待员岗位责任制
2014/02/10 职场文书
诚信贷款承诺书
2014/05/30 职场文书
小学新教师个人总结
2015/02/05 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
Python利用zhdate模块实现农历日期处理
2022/03/31 Python
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers