gpt4 book ai didi

php - Sphinxql 与 PDO php

转载 作者:行者123 更新时间:2023-11-29 21:41:12 27 4
gpt4 key购买 nike

我正在将 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";

仍然不起作用。也尝试过双重转义,仍然不起作用。
任何帮助将不胜感激。

最佳答案

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

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

关于php - Sphinxql 与 PDO php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com