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

时间:2013-07-24 14:22:14

标签: php sphinx

我做了10个字段的sphinx配置。 有些字段是字符串,所以我在配置的源代码部分中定义了它:

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查询。

1 个答案:

答案 0 :(得分:0)

听起来你的sphinxapi.php文件太旧了。使用已安装的sphinx版本中的一个。