Sphinx搜索返回随机数而不是字符串属性


Sphinx search returning random numbers instead of string attributes

我有一个鞘氨醇指数,定义如下:

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提示我版本控制问题。