0

我需要在我的配置文件中为每个索引使用两个 sql_attr_uint 值。我从之前的帖子中发现不要对通过命令行的搜索命令过于相信。 Sphinx PHP API 顺序与搜索守护进程不同

我当前的问题是当被 PHP API 访问时,我无法检索两个 sql_attr_uint 值(但是通过命令行使用搜索时会出现两个 sql_attr_uint 值)

下面是我的配置文件.. http://pastebin.com/30Si7bw5

通过 PHP API 获取结果时,我只能看到 sql_attr_uint table_id,但看不到名为 pub_id 的 sql_attr_uint。

谁能建议它为什么会这样做?

$cl = new SphinxClient();
$cl->SetServer($CONF['sphinx_host'], $CONF['sphinx_port']);
$cl->SetMatchMode($mode);
$cl->SetLimits(0, 1000);
// below line commented out atm - to only show those rows with this sql_attr_uint of 760 (is this the correct syntax?)
//$cl->SetFilter ( 'pub_id', array(760), FALSE );
$result = $cl->Query($q);
4

1 回答 1

2

我猜你没有重新启动 searchd 。您仍然使用旧索引。

重新索引时,请确保使用 --rotate 以使 searchd 重新加载。

失败了。完全停止 searchd,重新索引索引并启动干净启动。

(你的语法是正确的,还有其他事情发生)

于 2012-11-02T15:07:40.457 回答