您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

sphinx 关键词中包含‘$$’时,搜索报错

2024/4/8 4:37:23发布30次查看
问题:当搜索的关键词中包含两个或两个以上的$时,搜索报错
软件: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
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product