コンソールで検索すると、スフィンクスは正常に動作します:
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']
、空です。
よくわかりません。