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

WBOY
Freigeben: 2016-06-06 20:47:47
Original
1156 Leute haben es durchsucht

问题:当搜索的关键词中包含两个或两个以上的$时,搜索报错

软件:coreseek(sphinx中文版)

说明:我使用的是php 的api ; 有将$ 添加到停止词中;

部分代码:

<code class="lang-php">$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;
}
</code>
Nach dem Login kopieren
Nach dem Login kopieren

报错:
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 ; 有将$ 添加到停止词中;

部分代码:

<code class="lang-php">$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;
}
</code>
Nach dem Login kopieren
Nach dem Login kopieren

报错:
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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage