2015-12-27 53 views
0

我将Sphinxsearch整合到我的网站中,并重写我的旧代码以使用Sphinx。 我得到的问题是在SphinxQL中MATCH内的特殊字符。
例如:想要搜索H & M
用普通的mysql我得到了数千条记录,所以我很确定我的数据库中包含那个词的标题。
我不需要MATCH中的扩展查询语法。Sphinxql与PDO php

$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"; 

还没双逃避过,仍然没有工作working.Tried。
任何帮助将appriciated。

回答

0

好的,我明白了,如果将来有人有这个问题。 解决方法是在sphinx.conf文件文件中,在charset_table中添加要搜索的特殊字符。

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