2015-12-27 10 views
0

Я интегрирую Sphinxsearch на свой сайт и переписываю свой старый код для использования Sphinx. Проблема в том, что у меня есть специальные символы внутри MATCH в SphinxQL.
Пример: поиск 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 с двойной побег тоже, по-прежнему не работает.
Любая помощь будет назначена.

ответ

0

Хорошо, я получил это, если у кого-то в будущем будет такая же проблема. Решение состоит в том, чтобы добавить специальные символы, которые вы хотите найти в файле sphinx.conf, в charset_table.

Для моего случая H & M, вы должны добавить символ & (U + 026) в таблицу кодировки.

 Смежные вопросы

  • Нет связанных вопросов^_^