sphinx 关键词中包含‘$$’时,搜索报错
Jun 06, 2016 pm 08:47 PM
问题:当搜索的关键词中包含两个或两个以上的$时,搜索报错
软件:coreseek(sphinx中文版)
说明:我使用的是php 的api ; 有将$ 添加到停止词中;
部分代码:
$params['key']='the original price $$9.9 ; the curren$236t price is $'; $params['key']=$this->client->EscapeString($params['key']); ... $result = $this->client->query($params['key'],'questions,delta_questions'); if(!$result) { echo $this->client->GetLastError(); exit; }
报错:
index delta_questions,questions: syntax error, unexpected '$' near '\$9.9 ; the curren\$236t price is \$"/1'
若只是单个包含$字符 ,则可以正常查询,如:
$params['key']='the original price $9.9 ; the curren$236t price is $';
这个错误该如何解决?
回复内容:
问题:当搜索的关键词中包含两个或两个以上的$时,搜索报错
软件:coreseek(sphinx中文版)
说明:我使用的是php 的api ; 有将$ 添加到停止词中;
部分代码:
$params['key']='the original price $$9.9 ; the curren$236t price is $'; $params['key']=$this->client->EscapeString($params['key']); ... $result = $this->client->query($params['key'],'questions,delta_questions'); if(!$result) { echo $this->client->GetLastError(); exit; }
报错:
index delta_questions,questions: syntax error, unexpected '$' near '\$9.9 ; the curren\$236t price is \$"/1'
若只是单个包含$字符 ,则可以正常查询,如:
$params['key']='the original price $9.9 ; the curren$236t price is $';
这个错误该如何解决?
美元符号是sphinx语法的一部分,所以直接搜索会报错。调用一下转义函数:EscapeString 即可。具体参见:http://sphinxsearch.com/bugs/view.php?id=709

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发
