狮身人面像和主键列

时间:2012-09-11 20:30:25

标签: primary-key sphinx

我正在尝试了解Sphinx搜索服务器。我通过命令行和PHP工作。唯一令人烦恼的是,当我索引一个表时,Sphinx会返回一条通知,告知它无法找到主键列并“忽略”该列。无论如何它都可以工作,所以我没有付那么多心思,但现在我注意到我从我的搜索脚本中得到PHP通知,说主键列q_id是未定义的。该脚本工作并返回正确的q_ids,但我不喜欢收到通知。

这是一个代码段,因此您可以看到我尝试获取主键列的位置。

$row_ids = array();
  if ( ! empty($result["matches"]) ) {
      foreach ( $result["matches"] as $doc => $docinfo ) {

   array_push($row_ids, $docinfo['q_id']);
      } 

我知道Sphinx无法识别主键是什么,但我认为它仍然可以索引列,并且它必须对它做一些事情,因为搜索返回正确的q_ids。我哪里错了?感谢。

1 个答案:

答案 0 :(得分:1)

“q_id”是属性吗?

会像

  foreach ( $result["matches"] as $doc => $docinfo ) {
       array_push($row_ids, $docinfo['attrs']['q_id']);
  } 

你应该做一个print_r($ result);看到一切都回来了......