關(guān)于使用coreseek并為其做分頁的介紹
更新時(shí)間:2013年06月21日 12:06:06 作者:
本篇文章是對使用coreseek并為其做分頁進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
coreseek 做分頁時(shí)找數(shù)據(jù)總量還真不好找。以為他會給一個(gè)方法(函數(shù))什么的去獲取,結(jié)果卻不是。
首先需要了解:
num_matches: 當(dāng)前返回的結(jié)果數(shù),<= limit設(shè)置值。
max_matches: 最多返回的結(jié)果數(shù),默認(rèn)為1000,用戶最多只能看到1000條搜索結(jié)果。這個(gè)是在csft_mysql.conf中設(shè)置的。
total_found: 結(jié)果總數(shù)。索引中所有滿足查詢條件的文檔總數(shù)。這個(gè)是在你查詢的返回結(jié)果中的數(shù)組中有的。當(dāng)然前提是你必須在query前設(shè)置:$this->sc->SetArrayResult(true);
total: 最多返回結(jié)果數(shù),取值取決于max_matches值和total_found值。如果total_found數(shù)超過max_matches,則total = max_matches,否則,total = total_found。這個(gè)也是在你查詢的返回結(jié)果中的數(shù)組中有的。當(dāng)然前提也是你必須在query前設(shè)置:$this->sc->SetArrayResult(true);
這樣,了解了這幾個(gè)屬性之后就可以做分頁了。
我們應(yīng)該使用返回值中的total來做分頁總數(shù)據(jù)。雖然這個(gè)不代表真實(shí)的返回值(當(dāng)返回值大于max_matches,也就是1000,如真實(shí)返回2500,但是你卻只能得到1000)。
代碼是:
$this->sc->SetServer("127.0.0.1",9312);
$this->sc->SetArrayResult(true);
$this->sc->SetLimits($start,$page);
//如果需要搜索指定全文字段的內(nèi)容,可以使用擴(kuò)展匹配模式:
$this->sc->SetMatchMode(SPH_MATCH_ANY);
$res = $this->sc->Query($where,"main");
$count = $res['total'];
這個(gè)¥count就是我們要的分頁的總數(shù)據(jù)了。
其他的后續(xù)怎么分頁是以樣式和數(shù)據(jù)結(jié)構(gòu)做的,不能雷同,并且分頁也是基礎(chǔ)的東西,所以這里就不再多說分頁的詳細(xì)問題了。我這里單單討論這個(gè)總數(shù)據(jù)的取值情況。因?yàn)楹芏嗳硕既ount($res['matches'])的值,但是這個(gè)是分頁后的返回結(jié)果,你只能得到10,或者20或者其他的值。呵呵,那就搞笑了。
首先需要了解:
num_matches: 當(dāng)前返回的結(jié)果數(shù),<= limit設(shè)置值。
max_matches: 最多返回的結(jié)果數(shù),默認(rèn)為1000,用戶最多只能看到1000條搜索結(jié)果。這個(gè)是在csft_mysql.conf中設(shè)置的。
total_found: 結(jié)果總數(shù)。索引中所有滿足查詢條件的文檔總數(shù)。這個(gè)是在你查詢的返回結(jié)果中的數(shù)組中有的。當(dāng)然前提是你必須在query前設(shè)置:$this->sc->SetArrayResult(true);
total: 最多返回結(jié)果數(shù),取值取決于max_matches值和total_found值。如果total_found數(shù)超過max_matches,則total = max_matches,否則,total = total_found。這個(gè)也是在你查詢的返回結(jié)果中的數(shù)組中有的。當(dāng)然前提也是你必須在query前設(shè)置:$this->sc->SetArrayResult(true);
這樣,了解了這幾個(gè)屬性之后就可以做分頁了。
我們應(yīng)該使用返回值中的total來做分頁總數(shù)據(jù)。雖然這個(gè)不代表真實(shí)的返回值(當(dāng)返回值大于max_matches,也就是1000,如真實(shí)返回2500,但是你卻只能得到1000)。
代碼是:
復(fù)制代碼 代碼如下:
$this->sc->SetServer("127.0.0.1",9312);
$this->sc->SetArrayResult(true);
$this->sc->SetLimits($start,$page);
//如果需要搜索指定全文字段的內(nèi)容,可以使用擴(kuò)展匹配模式:
$this->sc->SetMatchMode(SPH_MATCH_ANY);
$res = $this->sc->Query($where,"main");
$count = $res['total'];
這個(gè)¥count就是我們要的分頁的總數(shù)據(jù)了。
其他的后續(xù)怎么分頁是以樣式和數(shù)據(jù)結(jié)構(gòu)做的,不能雷同,并且分頁也是基礎(chǔ)的東西,所以這里就不再多說分頁的詳細(xì)問題了。我這里單單討論這個(gè)總數(shù)據(jù)的取值情況。因?yàn)楹芏嗳硕既ount($res['matches'])的值,但是這個(gè)是分頁后的返回結(jié)果,你只能得到10,或者20或者其他的值。呵呵,那就搞笑了。
您可能感興趣的文章:
- Yii使用CLinkPager分頁實(shí)例詳解
- Yii2分頁的使用及其擴(kuò)展方法詳解
- Yii列表定義與使用分頁方法小結(jié)(3種方法)
- Yii1.1中通過Sql查詢進(jìn)行的分頁操作方法
- yii使用bootstrap分頁樣式的實(shí)例
- yii2實(shí)現(xiàn)分頁,帶搜索的分頁功能示例
- Yii框架結(jié)合sphinx,Ajax實(shí)現(xiàn)搜索分頁功能示例
- YII框架中搜索分頁jQuery寫法詳解
- Yii2.0小部件GridView(兩表聯(lián)查/搜索/分頁)功能的實(shí)現(xiàn)代碼
- Yii 2.0實(shí)現(xiàn)聯(lián)表查詢加搜索分頁的方法示例
- yii框架搜索分頁modle寫法
- Yii框架引入coreseek分頁功能示例
相關(guān)文章
解析php下載遠(yuǎn)程圖片函數(shù) 可偽造來路
本篇文章是對php中的下載遠(yuǎn)程圖片函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP實(shí)現(xiàn)簡單注冊登錄系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)簡單注冊登錄系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
Fatal error: session_start(): Failed to initialize storage m
這篇文章主要介紹了Fatal error: session_start(): Failed to initialize storage module: files問題解決方法,需要的朋友可以參考下2014-05-05
PHP數(shù)據(jù)源架構(gòu)模式之表入口模式實(shí)例分析
這篇文章主要介紹了PHP數(shù)據(jù)源架構(gòu)模式之表入口模式,結(jié)合實(shí)例形式分析了PHP表入口模式的相關(guān)概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-01-01
簡單談?wù)刾hp浮點(diǎn)數(shù)精確運(yùn)算
如果用php的+-*/計(jì)算浮點(diǎn)數(shù)的時(shí)候,可能會遇到一些計(jì)算結(jié)果錯(cuò)誤的問題,所以基本上大部分語言都提供了精準(zhǔn)計(jì)算的類庫或函數(shù)庫,比如php有BC高精確度函數(shù)庫,下面我們介紹一下一些常用的BC高精確度函數(shù)使用。
PHP中使用file_get_contents抓取網(wǎng)頁中文亂碼問題解決方法
這篇文章主要介紹了PHP中使用file_get_contents抓取網(wǎng)頁中文亂碼問題解決方法,可以通過使用curl配置gzip選項(xiàng)來解決,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
PHP實(shí)現(xiàn)的封裝驗(yàn)證碼類詳解
本篇文章是對PHP實(shí)現(xiàn)的封裝驗(yàn)證碼類進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php實(shí)現(xiàn)快速排序法函數(shù)代碼
取一個(gè)值與其他值進(jìn)行比較,小的放在這個(gè)值的左邊,大的放在這個(gè)值的右邊,然后按照這個(gè)方式遞歸2012-08-08

