我有一个鞘氨醇指数,定义如下:
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,得到了相同的结果。
我用的是最新的狮身人面像,在窗户上。(我也用2.1进行了测试,但没有结果)。
我很失落,有人有什么建议吗?
这几乎肯定意味着您使用的sphinxapi.php
版本太旧了。
您可以使用您使用的服务器版本中的一个,因此,如果您已经下载并安装了某个版本的sphinx服务器,请将安装档案中的sphinxapi.php文件复制到您的应用程序文件夹中。
(基本上,您有一个不理解字符串属性的sphinxapi.php)
好的,所以答案是我使用的php_sphinx.dll可能是为不支持字符串属性的旧版本sphinx构建/编译的。切换到提供的sphinxapi.php后,一切都如广告所示。感谢@barryhunter提示我版本控制问题。