国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

關于使用coreseek并為其做分頁的介紹

2024-05-04 23:10:40
字體:
來源:轉載
供稿:網友
coreseek 做分頁時找數據總量還真不好找。以為他會給一個方法(函數)什么的去獲取,結果卻不是。
首先需要了解:
num_matches: 當前返回的結果數,<= limit設置值。
max_matches: 最多返回的結果數,默認為1000,用戶最多只能看到1000條搜索結果。這個是在csft_mysql.conf中設置的。
total_found: 結果總數。索引中所有滿足查詢條件的文檔總數。這個是在你查詢的返回結果中的數組中有的。當然前提是你必須在query前設置:$this->sc->SetArrayResult(true);
total: 最多返回結果數,取值取決于max_matches值和total_found值。如果total_found數超過max_matches,則total = max_matches,否則,total = total_found。這個也是在你查詢的返回結果中的數組中有的。當然前提也是你必須在query前設置:$this->sc->SetArrayResult(true);
這樣,了解了這幾個屬性之后就可以做分頁了。

我們應該使用返回值中的total來做分頁總數據。雖然這個不代表真實的返回值(當返回值大于max_matches,也就是1000,如真實返回2500,但是你卻只能得到1000)。
代碼是:

復制代碼 代碼如下:


$this->sc->SetServer("127.0.0.1",9312);
$this->sc->SetArrayResult(true);
$this->sc->SetLimits($start,$page);
//如果需要搜索指定全文字段的內容,可以使用擴展匹配模式:
$this->sc->SetMatchMode(SPH_MATCH_ANY);
$res = $this->sc->Query($where,"main");
$count = $res['total'];


這個¥count就是我們要的分頁的總數據了。
其他的后續怎么分頁是以樣式和數據結構做的,不能雷同,并且分頁也是基礎的東西,所以這里就不再多說分頁的詳細問題了。我這里單單討論這個總數據的取值情況。因為很多人都取count($res['matches'])的值,但是這個是分頁后的返回結果,你只能得到10,或者20或者其他的值。呵呵,那就搞笑了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳西县| 明星| 股票| 潼关县| 维西| 鄂州市| 瑞安市| 盐源县| 横峰县| 吉隆县| 张家界市| 略阳县| 普宁市| 兴安县| 昆明市| 申扎县| 神农架林区| 巴南区| 玉屏| 拉孜县| 和林格尔县| 繁昌县| 格尔木市| 江安县| 贵溪市| 德保县| 铜陵市| 仁化县| 保山市| 紫阳县| 武清区| 岳普湖县| 临漳县| 佛坪县| 德州市| 昌都县| 股票| 循化| 兴海县| 焉耆| 潞西市|