Sphinx在匹配数组中返回数字而不是字符串


Sphinx returns digits instead of string in matches array

我制作了一个带有10个字段的狮身人面像配置。有些字段是字符串,所以我在配置的源部分定义了它,如下所示:

sql_attr_uint       = section_id
sql_field_string    = name
sql_field_string    = element_code
sql_field_string    = section_code

所有索引螺:

collected 18334 docs, 2.5 MB
sorted 18.9 Mhits, 100.0% done
total 18334 docs, 2460468 bytes
total 13.065 sec, 188322 bytes/sec, 1403.26 docs/sec
total 44 reads, 0.112 sec, 3255.7 kb/call avg, 2.5 msec/call avg
total 366 writes, 0.386 sec, 735.4 kb/call avg, 1.0 msec/call avg
rotating indices: successfully sent SIGHUP to searchd (pid=3131).

当我试图完全从命令行搜索某个查询时,一切都很好,我看到了字符串字段的文本值,这是我以前定义的。但是,当我去sphinxapi并进行相同的搜索查询时,它会返回相同的结果,但我看到的不是字符串值,而是数字,这些数字随着每次查询而变化:

[96659] => Array
(
    [weight] => 1
    [attrs] => Array
        (
            [name] => 140436931107525
            [element_code] => 140436931107617
            [section_id] => 4016
            [section_code] => 140436931107680
        )
)

请任何人,这意味着什么?我需要字符串值,我不想对DB进行额外的sql查询。

听起来你的sphinxapi.php文件太旧了。使用您安装的斯芬克斯版本中的一个。