Sphinxql与PDO php

时间:2015-12-27 11:25:34

标签: php mysql pdo sphinxql

我正在将Sphinxsearch集成到我的网站中,并重写我的旧代码以使用Sphinx。 我得到的问题是在SphinxQL中使用MATCH中的特殊字符 示例:想要搜索H& M
使用普通的mysql,我得到了数千条记录,所以我非常确定我的数据库中包含了这个单词的标题。
我不需要在MATCH中使用扩展查询语法。

$q = "h&m";  
$spxq = "SELECT * FROM sphinx_index WHERE MATCH(:query) LIMIT 0,10";  
$stmt = $DB->prepare($spxq);  
$stmt->bindValue(':query', $q, PDO::PARAM_STR);  
$stmt->execute();  
$res = $stmt->fetchAll(PDO::FETCH_ASSOC); 

这不会返回任何结果 在此之后我试图逃避$ q所以:

$q = "h\&m";

仍然无法正常工作。双重逃避也仍然无法正常工作 任何帮助都会得到满足。

1 个答案:

答案 0 :(得分:0)

好的,我得到了这个,如果将来有人有同样的问题。 解决方案是在 sprset_conf 中的 sphinx.conf 文件中添加您希望能够搜索的特殊字符。

因此,对于我的H& M案例,您需要添加&字符(U + 026)到字符集表。