问题:当搜索的关键词中包含两个或两个以上的$时,搜索报错
软件: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;thecurren236t price is $';
这个错误该如何解决?
美元符号是sphinx语法的一部分,所以直接搜索会报错。调用一下转义函数:EscapeString 即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。