Sphinx全文索引搜索常见的一些错误处理收集

OpenCV实战:如何用Debevec算法搞定相机响应函数(附完整代码) 本文详细介绍了如何使用OpenCV实现Debevec算法计算相机响应函数(CRF),并应用于HDR图像合成。通过完整的代码示例和工程实践问题解决方案,帮助开发者掌握从原理到实现的关键步骤,提升高动态范围成像和计算机视觉任务的处理能力。 阅读详情

sphinx无法启动的解决

索引或者查询时提示:ERROR: invalid token in 配置文件 line 1 col 1.:

该提示表示当前的配置文件的编码不是UTF-8(无BOM头)格式,无法正确解析,请使用编辑软件打开配置文件,另存为UTF-8(无BOM头)格式;

错误的编码格式包括:Unicode、Unicode BOM、Unicode big endian、Unicode 低位在前、UTF-8 + BOM、UTF-8 Signature、UTF-8 包含签名等;

特别注意:Windows自带的记事本(Notepad)或者写字板(WordPad)无法正确保存为所需格式,请勿使用其编辑配置文件;

在sphinx中处理使用特殊字符时所引起错误的办法

用sphinx搜索引擎时,有时会遇到一些特殊字符,这些特殊字符可能会是sphinx致命性错误来源:

如 “$”、“^”,在sphinx搜索关键字的最前或最尾出现这样的字符时(单独使用也一样),就会导致sphinx致命的错误。例如用“$笔记本”或“笔记本^”作为关键字搜索时,就会引起类似'Query failed: index product: syntax error, unexpected '"'。

    在搜索关键字的前面和后面自动加上半角的空格符“ ”可以解决此问题,且不会影响搜索结果。

ERROR: index ‘product’: raw_hits: write error: 122070 of 262017 bytes written

A:此类问题是索引写入磁盘错误导致,有多个原因。注意查看磁盘空间是否已满。另外,还可能是因为是否有多个indexer进程在进行,写入索引失败!还有个解决方法是:减少 indexer配置中 max_iosize的大小。max_iosize是sphinx最大允许的I/O操作大小,以字节为单位,用于I/O节流。比如可以设置为 524288(512KB)


1、增量索引,注意删除的问题 2、对大数据,一定要给sphinx数据目录留出大量空间,因为临时文件会占据非常大的空间

Q、编译安装时出现这个问题….sphinx.cpp; then mv -f “.deps/sphinx.Tpo” “.deps/sphinx.Po”; else rm -f “.deps/sphinx.Tpo”; exit 1; fi In file included from sphinx.cpp:14:sphinx.h:54:19: error: mysql.h: No such file or directory….

A:缺少libmysqlclient15.so,安装mysql-devel.如果已经存在。请使用ldconfig加载一下这个动态链接库(linux)

Q: sphinx在rotate时出现以下问题。(searchd.log) WARNING: rotating index ‘sphinx’: prealloc: mmap() failed: Cannot allocate memory (length=431854320); using old index,同时,在索引数据目录中会出现sphinx.spl sphinx.new.spl的情况,导致原来的索引不能正确的检索到

sphinx indexer有2个进程同时在运行,sphinx 的indexer不能同时使用,导致无法分配内存。并使indexer使用旧的索引文件
先了解一下sphinx的 –rotate机制:
indexer完成索引->发送SIGHUP 给searchd(同时在终端输出索引已经完成)->searchd接到中断信号->等待所有子进程退出->重命名 当前索引为旧索引为 .old
->重命名 .new 索引文件作为当前索引->尝试加载当前索引文件->如果加载失败,searchd会把.old文件回滚为当前文件,并把刚建立的新索引重命名 为 .new                             ->加载成的话:完成无缝衔接
执行 rotate开关情况下,indexer在完成索引后会首先会发送一个中断信号给searchd(并且会输出已经索引完成)。

接着 searchd会做以下事情:
1)等待所有子进程退出
2)重命名 当前索引为旧索引为 .old
3)重命名 .new 索引文件作为当前索引
4)尝试加载当前索引文件
5)如果加载失败,searchd会把.old文件回滚为当前文件,并把刚建立的新索引重命名为 .new
鉴于以上情况,很可能是开启了2个检测目录访问权限的进程。用户同时使用2个indexer且 searchd运行其下 等等
sphinx的searchd在启动时会创建一个 .spl 锁文件,并在关闭时会删除它。在indexer创建索引时如果发现有 .spl文件,则不会创建新索引,除非使用 –rotate
所以,出现这样的问题可能是 锁文件不知咋的就丢失啦,或者重建索引时没有使用 –rotate开关

原文:
http://www.sphinxsearch.com/forum/view.html?id=274
It seems that
a) the lock files were lost somehow, and
b) you ran indexer without –rotate switch.
Normally, searchd would create .spl lock files on startup (and kill them on shutdown),
and indexer would then refuse to reindex without –rotate switch.
indexers sends SIGHUP to searchd when completed (and it should print that out). searchd
then does the following:
1) waits for all children to exit
2) renames current index files to .old
3) renames .new index files to current
4) tries to load current index files
5) if something failed, it rollbacks current files from .old and new to .new
In your case I would start with double checking directory access rights, users which both
indexer and searchd run under, etc.
具体操作:
killall searchd 然后重启。重启后会自动加载重命名 sphinx.new.sp*为 sphinx.sp*
另外,出现这样的问题时,最好注意 –rotate的使用,在应用许可 的情况下,不妨直接采用 关闭searchd 再索引,然后再开启 searchd

Q:关于updateAttribute更新索引的问题

sphinx使用api不能马上真正的更新索引,但更新后api能显示索引已经是更新了。不过使用cli端的search就不能搜索到。只有在searchd重启后才会写入磁盘文件中。切记!

Q、sphinx安装make时,碰到libiconv的问题。

查了半天,改Makefile,configure都不可靠。最后在官站上查到:
./configure –without-iconv,就好了。NND,那干嘛还要这个iconv嘛。
看出错代码里,是在xmlunknowencode时才用到。我们都用utf-8,很多时候可能压根用不着这个功能!如若需要的话,可以加上这个lib

Q、检索出来后结果id排序问题

SELECT * FROM documents WHERE id IN (3,5,7) ORDER BY FIELD(id,3,5,7);
或
SELECT * FROM documents WHERE id IN (3,5,7) ORDER BY substring_index((id,3,5,7),id,1)

Q、WARNING: sort_hits: merge_block_size=248 kb too low, increasing mem_limit may improve performance

A、增大mem_limit的值

Q:sphinx排序问题

$sphinx->SetSortMode(SPH_SORT_EXTENDED,’status DESC,is_deleted DESC’); //组内排序 setGroupBy排序的话,分成组间排序和组内排序,比如:(317,1,hello),(317,0,world)。如果组内排序的话,需先使用SetSortMode(),进行自然排序,然后 使用group排序,这样在组间排序和组内排序都成自然状态了!

Q、WARNING: maxed out, dismissing client

这是sphinx 客户端找不到searchd守护进程。具体可能是索引的锁文件了 (***.spl)丢失,  这个文件通常是用来标识searchd是否开启。
通常客户端也会返回“zero-sized searchd response”。  解决办法:  重启searchd即可    作者的话:  It seems that a) the lock files were lost somehow, and b) you ran indexer without --rotate switch.  http://www.sphinxsearch.com/forum/view.html?id=247

Q、CentOS5.4 安装coreseek-3.2.13的mmseg 时,./configure 出现错误:config.status: error: cannot find input file: src/Makefile.in

 coreseek安装需要预装的软件:# yum install gcc gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel#aclocal#libtoolize --force#automake --add-missing#autoconf#autoheader重新configure即可!原文请参考:http://www.coreseek.cn/news/6/100/ 

Q:coreseek 在安装 make 时候出现 undefined reference to `libiconv’

A:编辑:
./src/MakeFile文件
将
LIBS = -lm -lexpat -L/usr/local/lib
改成
LIBS = -lm -lexpat -liconv -L/usr/local/lib

Q:在分布式搜索中api调用出现 search Error: unknown local index ‘allindex’ in search request

具体配置是index allindex
{
type                            = distributed
local                           =usertest1stemmed
local                           =testidx
agent                           = localhost:3306:agentdata1,agentdata2
agent_connect_timeout           = 1000
agent_query_timeout             = 3000
}
A:这里是sphinx在解析localhost的时候不能正确指向127.0.0.1 ,所以更改一下配置中的localhost即可。即:


agent                           = 127.0.0.1:3306:agentdata1,agentdata2
工业机器人抓取目标检测与抓取姿态估计系统:基于YOLOv12与Cornell Grasping Dataset 工业机器人抓取是自动化生产中的核心环节,而精确的目标检测和抓取姿态估计是实现高效抓取的关键。本文将详细介绍如何构建一个完整的工业机器人抓取系统,该系统结合了最新的YOLOv12目标检测算法和Cornell Grasping Dataset的抓取姿态估计,并提供了用户友好的UI界面。本文详细介绍了一个完整的工业机器人抓取系统,该系统结合了YOLOv12目标检测和基于Cornell Grasping Dataset的抓取姿态估计。我们将使用PyQt5构建一个用户友好的界面,集成目标检测和抓取姿态估计功能。 阅读详情

相关推荐

Maya ACES工作流程配置(Arnold 及 RedShift 贴图配置规范-还原出SP-Aces流程下贴图正确的效果) PS还原Aces流程下渲染的图

*如果使用SP,项目工程如果新建的时候设置的就是Aces的流程的话,按规范正常导出即可,贴图会带上相对应的后缀,然后贴图导入材质球的时候会根据后缀自动设置相对应的色彩空间;**万一不是,就自己手动设置一下对应的色彩空间即可;然后点击选择当前的或者选择全部导入的贴图,点击右下角后,开始转换;我复制了一下,一个默认没有LUT的效果,然后另外一个是加载2个LUT后的还原效果,和渲染的效果应该是没有区别的,至少我没有看出明显的区别;把需要转换的贴图拖拽到左侧,然后右面选择需要转换到的相对应的色彩空间;...

Yuulily 7993

sphinx php重建索引,Sphinx重建索引失效案例分析

重建Sphinx索引的时候,可以使用以下命令:/sphinx/bin/indexer –rotate idx_name但是这个命令并不是保证一定能重建成功的,有时候重建了之后,发现新的数据并没有加入到索引里,而从日志可以看到这样的记录:WARNING: rotating index ‘idx_m_tag’: lock: failed to lock /sphinx/data/idx_m_tag.n...

weixin_39669147的博客 382

4.UE数字人工程运行逻辑及程序逻辑

UE数字人工程运行逻辑及程序逻辑

6086

为什么Sphinx查的数据比用SQL查还少?

本来想要的是模糊匹配 比如test 全部匹配test   优先级最高 少一个字匹配tes 再少一字匹配te 等等 select * from file where filename like'%test%';   --1029条 与Sphinx下面结果不一致? 更要命的是Sphinx搜的数据还少 下面结果257条   ,且这257条在SQL查的结果中全部有。 corese

chenhao0568的专栏 1511

把浮点数这件小事讲清楚:ABAP 7.51 里 Open SQL 与 ABAP CDS 的 FLTP 新玩法与避坑指南

ABAP浮点数计算的风险与应对 摘要:ABAP项目中的浮点数(FLTP)在跨平台计算时存在误差风险,同一逻辑在不同数据库平台可能产生细微差异。ABAP 7.51新增了两项关键能力:1)Open SQL和ABAP CDS中可为AVG函数指定结果类型,避免默认返回FLTP;2)ABAP CDS提供FLTP_TO_DEC转换函数。但需注意这些转换仍可能存在平台相关差异,且FLTP_TO_DEC会截断而非四舍五入小数位。开发者在涉及金额、数量等关键业务计算时,应明确数值语义并设计容错机制。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 213

S7-1200PLC与昆仑通态触摸屏以太网通信的具体方法和步骤(图文)

S7-1200PLC与昆仑通态触摸屏以太网通信的具体方法和步骤(图文)

Robot_PLC_HMI_Automation 1万+

coreseek _error received zero-sized searchd response

index v2_index_cmp_job_base_9_delta_checktime : v2_index_cmp_job_base_9{ source = cmp_job_base_9_delta_checktime 错误出在这一行,索引文件名错 path = /data/coreseek_data/job_v...

weixin_34348111的博客 195

什么是 Agent 的 Context Window?为什么它是 Agent 工程中最核心的约束之一?

什么是 Agent 的 Context Window?为什么它是 Agent 工程中最核心的约束之一?

我哎GIS博客 814

Sphinx奇怪的报错indexer crashed

担心sphinx的内存不够用,把conf里面的mem_limit加到了4000M,结果报错了: 改到小一点的800M就不报错 官方文档中找到这么一段话,原文和译文如下: mem_limit----------------- Indexing RAM usage limit. Optional, default is 32M.Enforced memory usage limit that the indexer will not go above. Can bespecified in b..

walle的博客 430

pytorch搭建SSAE实现预测分类代码模板完整代码

pytorch搭建SSAE实现预测分类代码模板完整代码

323

相位编码脉冲压缩信号的理论研究与 Matlab 实现

通过实际的代码示例,我们展示了如何生成信号、进行相位编码、传输信号、相位解码和脉冲压缩的步骤。相位编码脉冲压缩信号是通过在发射端对信号进行相位编码,并在接收端对信号进行相位解码来实现的。其主要原理是在发射端将信号的频率进行调制,使得信号具有宽带特性,然后在接收端通过匹配滤波器对信号进行解调和压缩,从而提高信号的分辨率和抗干扰能力。相位编码脉冲压缩信号是一种在信号处理中常用的技术,用于提高信号的分辨率和抗干扰能力。可以使用 Matlab 中的信号生成函数生成一个宽带脉冲信号,例如矩形脉冲信号或高斯脉冲信号。

CyberWizarDD的博客 901

Sphinx 配置和使用 Python篇

文章目录Sphinx 根据业务场景分为`实时搜索` 和 `非实时搜索` 两部分实时搜索实时搜索配置实时搜索应用报错处理非实时搜索非实时搜索配置非实时搜索应用报错处理 Sphinx 根据业务场景分为实时搜索 和 非实时搜索 两部分 实时搜索 实时搜索配置 实时搜索应用 报错处理 非实时搜索 非实时搜索配置 非实时搜索应用 报错处理 ~~持续更新 ...

非-浪的博客 5734

[机器学习] 第二章 模型评估与选择 2.ROC:roc_curve原理及源代码详解

代码见:https://github.com/Carrie-Yi/machine_learning/tree/main/roc_curve

心宝的博客 1493

sphinx的使用

刚接触使用sphinx,读了些资料,现在就把我所理解到的记录下: 1:修改sphinx.conf文件后,需要重新建立索引,查询才会生效,所谓的全文索引查找,就是在setfilter后(相当于sql的where条件),query('content','index‘);     (1):content代表要查询的文字。(2):index是建立的要查询的索引    找到匹配

ikscher的专栏 8408

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

sphinx mysql 太久会断吗_安装sphinx的心得和错误处理

sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索。可以加快数据库的查询。下面简单介绍下在php环境下安装sphinx的步骤。首先得下载sphinx的安装文件,这个在官网就可以下载到。解压缩,找到etc目录,里面的csft_mysql.conf,复制到sphinx根目录下,改成自己的名字(任意),打开内容如下:#MySQL数据源配置,详情请查看:http...

weixin_31064353的博客 139

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Jupyter Sphinx 项目常见问题解决方案

Jupyter Sphinx 项目常见问题解决方案 项目基础介绍 Jupyter Sphinx 是一个Sphinx扩展,它允许在Sphinx文档中运行嵌入的代码,并将代码的输出嵌入到生成的文档中。它支持丰富的输出,包括图片甚至Jupyter交互式小部件。该项目主要用于增强文档的可交互性和动态内容展示。主要的编程语言为Python。 新手常见问题及解决方案 问题一:如何安装Jupyter Sphin...

gitblog_00896的博客 779

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Sphinx Search for Laravel 5 - 一个强大的全文搜索解决方案

Sphinx Search for Laravel 5 - 一个强大的全文搜索解决方案 Sphinx Search for Laravel 5 是一个为 Laravel 5 设计的简单易用的搜索包,它允许开发者通过 Sphinx Search 引擎进行高效的全文搜索。该项目主要使用 PHP 编程语言实现。 核心功能 该项目的核心功能是为 Laravel 应用程序提供与 Sphinx Search ...

gitblog_00818的博客 304

Yii 2 Sphinx 扩展使用教程

Yii 2 Sphinx 扩展使用教程 项目介绍 Yii 2 Sphinx 扩展是一个用于将 Yii 2 框架与 Sphinx 搜索引擎集成的开源项目。Sphinx 是一个高性能的全文搜索引擎,而 Yii 2 是一个流行的 PHP 框架。通过这个扩展,开发者可以轻松地在 Yii 2 应用中集成 Sphinx 搜索功能,从而提高搜索效率和准确性。 项目快速启动 安装 首先,通过 Composer 安...

gitblog_00171的博客 982

php sphinx api调用,php 调用 sphinx

include 'SphinxClient.class.php';header('Content-Type: text/html;charset="UTF-8"');if ($_GET) {// 关键词$keyword = urldecode(trim(strip_tags($_GET['keyword'])));$keyword = "二手房" ;if ($keyword) {// 包含Sphi...

weixin_34786066的博客 263

sphinx centos mysql_centos下配置安装及php调用sphinx

一、第一步是安装编译工具,当然,如果你以前安装过编译工具请忽略此条;命令: yum -y install make gcc g++ gcc - c++ libtool autoconf imake mysql-devel libxml-devel expat-devel二、安装sphinx切换到你想存放压缩文件的目录 (例如: cd /usr/local/src ),下载命令: wget ht...

weixin_26875109的博客 163

sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY

原生API提供的匹配筛选、排序和分组配置和SQL语法提供的WHERE、ORDER BY和GROUP BY语句的效果是一样的,你可以对匹配结果进行你需要的筛选、排序和分组匹配。例如,如果你要搜索MySQL中1990年代的书籍,并按照价格排序,可以这么写: $cl = new SphinxClient(); $cl->SetFilterRange("year_publis...

djph26741的博客 210

Sphinx之SphinxClient类

Sphinx api

cs958903980的博客 3655

sphinx调用API参考(官方手册)

Sphnix有几种不同编程语言的searchd客户端API的实现。在本文完成之时,我们对我们自己的PHP,Python和java实现提供官方支持。此外,也有一些针对Perl,Ruby和C++的第三方免费、开源API实现。 API的参考实现是用PHP写成的,因为(我们相信)较之其他语言,Sphinx在PHP中应用最广泛。因此这份参考文档基于PHP API的参考,而且这节中的所有的代码样例都用PHP...

qiuyu6958334的博客 519

linux环境sphinx搭建,sphinx3.2.1 搭建

sphinx官网下载页面(点这里)cd /usr/local/src/wget http://sphinxsearch.com/files/sphinx-3.2.1-f152e0b-linux-amd64-glibc2.12.tar.gz//解压tar sphinx-3.2.1-f152e0b-linux-amd64-glibc2.12.tar.gz//建立软链$ ln -s /usr/local...

weixin_36023930的博客 249

Sphinx参考手册(六)

6. API参考

cbhjerry的博客 1110

安装sphinx的心得和错误处理

sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索。可以加快数据库的查询。下面简单介绍下在php环境下安装sphinx的步骤。首先得下载sphinx的安装文件,这个在官网就可以下载到。解压缩,找到etc目录,里面的csft_mysql.conf,复制到sphinx根目录下,改成自己的名字(任意),打开内容如下:#MySQL数据源配置...

weixin_33674976的博客 298
上一篇: PHP5权限控制修饰符
下一篇: 对于大流量的网站,采用什么样的方法来解决访问量问题
admin_long
博客等级 码龄10年 4粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值