在PHP中使用Sphinx進行搜索并分頁處理結果可以通過Sphinx的PHP API來實現。以下是一個簡單的示例代碼:
// 創建Sphinx客戶端
$sphinx = new SphinxClient();
// 設置連接參數
$sphinx->setServer('localhost', 9312);
// 設置搜索參數
$sphinx->setMatchMode(SPH_MATCH_EXTENDED2);
$sphinx->setLimits($offset, $limit);
// 執行搜索
$result = $sphinx->query('keyword', 'index_name');
// 獲取搜索結果
if ($result) {
// 輸出搜索結果
foreach ($result['matches'] as $match) {
echo $match['id'] . ': ' . $match['weight'] . '<br>';
}
}
// 分頁處理
$total = $result['total_found'];
$pages = ceil($total / $limit);
// 輸出分頁鏈接
for ($i = 1; $i <= $pages; $i++) {
echo '<a href="?page=' . $i . '">' . $i . '</a>';
}
在上面的示例中,$offset和$limit是用來控制搜索結果分頁的參數,$result[‘total_found’]用來獲取搜索結果的總數,然后根據總數和每頁顯示的數量計算出總頁數,并生成相應的分頁鏈接。您可以根據具體的需求來調整代碼以適配您的應用。