3
我已經問了一些類似的問題,但可能沒有提供所有需要的信息。使用帶有多個索引的PHP的獅身人面像
我已經安裝了最新版本的獅身人面像的 - 並且已經創建的索引(雖然我不是100%我已經優化了此配置)(見底部的鏈接引擎收錄了該配置)
以下是連接到Sphinx API的字符串'教學',我想執行搜索的腳本 - 目前我有四個索引(請參閱配置 - http://pastebin.com/DGgheqYm)我需要能夠確定哪個索引每個結果來自於,因爲這將決定我需要執行查詢的哪個表格
例如..
// {$table}/{$pk} would vary depending on which index we are using (eg if articles index - then it would use the table called 'articles'
$IDs = implode(",",array_keys($result["matches"]));
$sql = "SELECT * FROM {$table} WHERE {$pk} IN ($IDs) ORDER BY FIELD(`id`,$IDs)"
隨着ID數組返回任何人都可以建議最好的辦法: -
確定的結果是來自於確定查詢
And..if我該指數一個小白位與Spinx :)
<?php include('api/sphinxapi.php'); $cl = new SphinxClient(); $cl->SetServer("localhost", 9312); $cl->SetMatchMode(SPH_MATCH_ANY ); $result = $cl->Query("teaching"); if ($result === false) { echo "Query failed: " . $cl->GetLastError() . ".\n"; } else { if ($cl->GetLastWarning()) { echo "WARNING: " . $cl->GetLastWarning() . " "; } if (! empty($result["matches"])) { foreach ($result["matches"] as $doc => $docinfo) { echo "$doc\n"; } print_r($result); } } exit; ?>
- 我這樣做的 '正確的方式' http://pastebin.com/DGgheqYm
UPDATE:仍然有問題,這裏從獅身人面像API輸出 - 我不明白爲什麼,我已經使用來自巴里的帖子幫助我增加屬性似乎不是不出現 http://pastebin.com/jzBexCBq
sql_query應完全如您所示 例如... SELECT ID,1 AS表,標題,描述FROM articles 我已經完成了您的文章,當我運行索引器 - 我得到以下錯誤: '錯誤:索引文章:sql_query:您的語法錯誤.....使用附近的'表,標題,說明文章' 有文章中沒有列調用表 - 任何幫助你可以提供將不勝感激:) – Zabs
當然表啊,是mysql中的一個保留字!這個屬性被調用並不重要,只需要在每個索引中使用相同的名稱,編輯了更改爲使用table_id的答案。 – barryhunter
邪惡的巴里你的男人與所有這些獅身人面像的東西! :-) – Zabs