0

Sphinx 検索サーバーについて学習しようとしています。コマンドラインとPHPを介して動作させています。唯一の厄介な点は、テーブルにインデックスを付けると、Sphinx が主キー列を見つけることができず、その列を「無視」するという通知を返すことです。とにかく動作するので、あまり気にしませんでしたが、主キー列 q_id が未定義であるという PHP 通知を検索スクリプトから受け取っていることに気付きました。スクリプトは機能し、適切な q_ids を返しますが、通知を受け取るのは好きではありません。

主キー列を取得しようとしている場所を確認できるように、スニペットを次に示します。

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

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

Sphinx は主キーが何であるかを認識しないことは理解していますが、それでも列にインデックスを付けることができ、検索で正しい q_id が返されるため、何かを行う必要があると考えました。どこが間違っていますか?ありがとう。

4

1 に答える 1

1

「q_id」は属性ですか?

のようなものになります

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

print_r($ result);を実行する必要があります。すべてが返されるのを見る...

于 2012-09-11T22:39:47.353 に答える