Sphinx搜索不提供id和文本字段信息

时间:2013-05-30 15:50:19

标签: sphinx

我是狮身人面像的新手,我有一个小问题。我有sphinx.conf文件如下

sql_query       = \
    SELECT id, user_id, title \
    FROM table

sql_attr_uint       = user_id
sql_query_info      = SELECT * FROM table WHERE id=$id

我有一个使用sphinxapi.php的php文件,其中包含以下代码

  // connect to mysql database //
    require_once('sphinxapi.php');
    $s = new SphinxClient;
    $s->setServer("127.0.0.1", 9312);
    $s->setMatchMode(SPH_MATCH_ANY);
    $s->SetLimits(0, 2);
    $result = $s->Query('test words');

如果我打印$ result它有user_id字段但不包含id或title字段。有没有办法检索它们?

2 个答案:

答案 0 :(得分:2)

它将拥有id。它的jsut不在'attrs'数组中,它是'matches'数组的关键。

字段的“文本”未存储,因此sphinx无法返回。要获得标题,请返回原始数据库。这将是一个非常快速的查询,因为它只能使用IN(..)查询中的id列表。

(尽管你可以选择将文本放在一个字符串属性中,然后sphinx将存储并返回到attrs数组中。可以使用sql_field_string,创建一个列,一个字段和一个属性)

答案 1 :(得分:0)

试试这个

sql_query       = \
    SELECT id, user_id, title, title as title_str \
    FROM table

sql_field_string = title_str