sphinx的phpAPI无法查出数据,但是在命令行(cli)却可以,好疑惑
环境:ubuntu14.04 php5.5,mysql5.6搜索词:”陈嘉俊“
不知道为什么sphinx的phpAPI无法查出数据,但却也有hits属性和对应的字段出现,应该是代表数据匹配到了,但是数据却没有,为什么?
在浏览器是没有输出的:在命令行却是有数据了:这是PHP的代码:
求指教~~谢谢

解决方案 »

  1.   

    你的配置有问题
    在 source 中加入
    sql_field_string     = username
    sql_field_string     = sex
    ...
    返回其它的自己加
    开启sphinx并重建索引
    再次执行php就可以了
    你返回的数据 attrs 数据应该类似这样才对
     [attrs] => Array
            (
                [username] => 7
                [sex] => 7
            )
      

  2.   


    朋友你好,谢谢你的解答,但是加上这个配置项的话sphinx启动就直接error了。 他说 unknown key name 'sql_field_string'
      

  3.   

    我没有这个错,使用的coreseek-4.1-beta
      

  4.   


    我使用的是coreseek 3.2.14,估计是这个原因了。看来我要换了
      

  5.   


    朋友你好,我重新装了coreseek4.1beta,返回的数据确实是:
     [attrs] => Array
            (
                [username] => 7
                [sex] => 7
            )
    但是没有我具体的数据啊...这是什么回事..就两个7
      

  6.   

    确实是版本问题,但是现在遇到新的问题:
    我重新装了coreseek4.1beta,返回的数据确实是:
     [attrs] => Array
            (
                [username] => 7
                [sex] => 7
            )
    但是没有我具体的数据啊...这是什么回事..就两个7 
      

  7.   

    attrs 只是告诉你返回字段,和 matches 里面的数据是一一对应的
    数据在 matches 里面
      

  8.   


        [attrs] => Array
            (
                [username] => 7
                [face50] => 7
                [face120] => 7
            )    [matches] => Array
            (
                [18] => Array
                    (
                        [weight] => 167
                        [attrs] => Array
                            (
                                [username] => 0
                                [face50] => 0
                                [face120] => 0
                            )                )            [22] => Array
                    (
                        [weight] => 111
                        [attrs] => Array
                            (
                                [username] => 0
                                [face50] => 0
                                [face120] => 0
                            )                )        )
    数字7是什么意思???但是我的matches也没有数据啊....
      

  9.   

    7 这个我也没找到文档解释
    你的数据源里面要有 username , face50 ,face120 这三个字段
    重启sphinx,重建索引,再执行php
    我使用刚才我截图的配置,是可以的
      

  10.   


    可以加QQ吗??
    我这儿是有数据源的呀,src source不就是数据源吗...  我在命令行可以查找出来的
      

  11.   


    你为什么还要引入文件呢?你没装php的sphinx拓展??
      

  12.   

    问题已解决,pecl的sphinx拓展千万别装1.3.0以上的
      

  13.   

    我也遇到这个坑,我现在用的是php扩展的sphinx版本是1.1.0返回的数据也是为0,最坑的是sphinxapi.php用coreseek4.1版本的没有数据返回,用coreseek3.1的才有数据返回