0

当我通过控制台搜索时 sphinx 工作正常:

index 'dreamsIndex': query 'demo': returned 2 matches of 2 total in 0.017 sec

displaying matches:
1. document=494, weight=1620
2. document=495, weight=1620

words:
1. 'd500': 2 documents, 2 hits

但是当我通过 php api 进行相同的搜索时,我没有得到任何结果。其实$result['total_found']有正确的值2,但是$result['matches']是空的。

   include_once('sphinxapi.php');
   $sphinx = new SphinxClient();
   $sphinx->SetServer("localhost", 9312);
   $sphinx->SetConnectTimeout(1);
   $sphinx->SetArrayResult(true);
   $sphinx->SetMatchMode(SPH_MATCH_ANY);
   $sphinx->SetSortMode(SPH_SORT_RELEVANCE)
   $result = $sphinx->Query("demo","*");
   if ($result===false) echo "Error: ".$sphinx->GetLastError();
   else {
       if ($sphinx->GetLastWarning()) echo "Warning: ".$sphinx->GetLastWarning();
            echo "Total found: ".$result['total_found']."\r\n";                                      
            if (sizeof($result['matches'])) {                          
                      foreach ($result['matches'] as $val) {
                       echo "id = ".$val['attrs']['id']."\r\n";
                     }
            }
  }

实际上$result['matches']甚至不存在。有$result['attrs'],但它是空的。

这是$result看起来的样子(链接)

我很困惑。

4

0 回答 0