Поиск сфинкса, возвращающий случайные числа вместо строковых атрибутов

У меня есть индекс сфинкса, определенный следующим образом:

sql_query= \
SELECT \
s.`id`, s.`name`, s.`views`, s.`released`,s.`seo_url`,\
CAST(s.`is_popular` AS SIGNED) as is_popular \
FROM `shows` s \
WHERE s.alias_id IS NULL

sql_attr_uint       = views
sql_attr_uint       = is_popular
sql_field_string    = name
sql_attr_string     = released
sql_field_string    = seo_url

Я запрашиваю с расширением php pecl.

Проблема в том, что строковые атрибуты возвращаются в виде случайных целых чисел. Например.

[18] => Array
(
[id] => 3623
[weight] => 1624
[attrs] => Array
(
[name] => 865774050003
[views] => 16
[released] => 865774050021
[seo_url] => 865774050029
[is_popular] => 0
)

)

[19] => Array
(
[id] => 3820
[weight] => 1624
[attrs] => Array
(
[name] => 865774050059
[views] => 303
[released] => 865774050087
[seo_url] => 865774050095
[is_popular] => 0
)

)

Нестроковые атрибуты верны, но строки имеют разные значения при каждом запуске.

Сейчас я использую sql_field_string, но я пробовал только sql_attr_string, с теми же результатами.

Я использую последнюю версию sphinx для Windows. (Я также проверил с 2.1 безрезультатно).

Я довольно заблудился, у кого-нибудь есть предложения?

1

Решение

Это почти наверняка означает, что используется ваша версия sphinxapi.php слишком стар

Вы могли бы использовать тот из используемой вами версии сервера — поэтому, если вы загрузили и установили определенную версию сервера sphinx, скопируйте файл sphinxapi.php из архива установки в папку вашего приложения.

(в основном у вас есть sphinxapi.php, который не понимает строковые атрибуты)

0

Другие решения

Итак, ответ таков: php_sphinx.dll, который я использую, вероятно, собран / скомпилирован для старой версии sphinx, которая не поддерживает строковые атрибуты.
При переходе на предоставленный sphinxapi.php все работает как рекламируется.
спасибо @barryhunter за подсказку о проблеме с версиями.

0

По вопросам рекламы [email protected]