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

首頁(yè) > 編程 > PHP > 正文

深入解析php之sphinx

2020-03-22 20:08:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
?php
//參數(shù)篩選//篩選cat_id=2
$cl- SetFilter("cat_id",array(2));
//僅在id為1、3、7的子論壇中搜索
$cl- SetFilter("forum_id",array(1,3,7));

//范圍篩選
//篩選發(fā)布時(shí)間為今天,參數(shù)為int時(shí)間戳
$cl- SetFilterRange("starttime",123,124);
//篩選價(jià)格
$cl- SetFilterRange("price",10.0,99.9);

// 分組
//按照item_id分組,并且按照order desc排序
$cl- SetGroupBy("item_id",SPH_GROUP_ATTR,"order desc");

//排序模式
//按照price desc排序
$cl- SetSortMode(SPH_SORT_ATTR_DESC,"price");
注意:會(huì)被SetGroupBy中的排序覆蓋 // 匹配查詢(xún)?cè)~中的任意一個(gè)
$cl- SetMatchMode ( SPH_MATCH_ANY );
SPH_MATCH_ALL, 匹配所有查詢(xún)?cè)~(默認(rèn)模式);
SPH_MATCH_ANY, 匹配查詢(xún)?cè)~中的任意一個(gè);
SPH_MATCH_PHRASE, 將整個(gè)查詢(xún)看作一個(gè)詞組,要求按順序完整匹配;
SPH_MATCH_BOOLEAN, 將查詢(xún)看作一個(gè)布爾表達(dá)式 (參見(jiàn) 第 5.2 節(jié) “布爾查詢(xún)語(yǔ)法”);
SPH_MATCH_EXTENDED, 將查詢(xún)看作一個(gè)CoreSeek/Sphinx內(nèi)部查詢(xún)語(yǔ)言的表達(dá)式 (參見(jiàn) 第 5.3 節(jié) “擴(kuò)展查詢(xún)語(yǔ)法”). 從版本Coreseek 3/Sphinx 0.9.9開(kāi)始, 這個(gè)選項(xiàng)被選項(xiàng)SPH_MATCH_EXTENDED2代替,它提供了更多功能和更佳的性能。保留這個(gè)選項(xiàng)是為了與遺留的舊代碼兼容——這樣即使 Sphinx及其組件包括API升級(jí)的時(shí)候,舊的應(yīng)用html' target='_blank'>程序代碼還能夠繼續(xù)工作。
SPH_MATCH_EXTENDED2, 使用第二版的“擴(kuò)展匹配模式”對(duì)查詢(xún)進(jìn)行匹配.
SPH_MATCH_FULLSCAN, 強(qiáng)制使用下文所述的“完整掃描”模式來(lái)對(duì)查詢(xún)進(jìn)行匹配。注意,在此模式下,所有的查詢(xún)?cè)~都被忽略,盡管過(guò)濾器、過(guò)濾器范圍以及分組仍然起作用,但任何文本匹配都不會(huì)發(fā)生.//從0開(kāi)始查詢(xún),查詢(xún)30條,返回結(jié)果最多為1000
$cl- setLimits(0,30,1000);

// 從名稱(chēng)為index的sphinx索引查詢(xún)“電影票”
$cl- Query("電影票","index");

// 從名稱(chēng)為index的sphinx索引查詢(xún)“電影票”
$sp- SetGroupBy('item_id',SPH_GROUP_ATTR,'s_order desc');
$sp- SetFilter('city_id','1');
$sp- SetFilter('cat_id',array(1));
$sp- SetLimit(0,10,1000);
$sp- AddQuery('電影票','index');
$sp- ResetFilters();//重置篩選條件
$sp- ResetGroupBy();//重置分組

$sp- SetGroupBy('item_id', SPH_GROUPBY_ATTR, 's_order desc');
$sp- setFilter('city_id', '2');
$sp- setFilter('cat_id', array(2));
$sp- setLimits(0, 20, 1000);
$sp- AddQuery('溫泉', 'index');
$sp- ResetFilters();// 重置篩選條件
$sp- ResetGroupBy();//重置分組
$results = $sp- RunQuries();
批量查詢(xún)(或多查詢(xún))使searchd能夠進(jìn)行可能的內(nèi)部?jī)?yōu)化,并且無(wú)論在任何情況下都會(huì)減少網(wǎng)絡(luò)連接和進(jìn)程創(chuàng)建方面的開(kāi)銷(xiāo)。相對(duì)于單獨(dú)的查詢(xún),批量查詢(xún)不會(huì)引入任何額外的開(kāi)銷(xiāo)。因此當(dāng)您的Web頁(yè)運(yùn)行幾個(gè)不同的查詢(xún)時(shí),一定要考慮使用批量查詢(xún)。
例如,多次運(yùn)行同一個(gè)全文查詢(xún),但使用不同的排序或分組設(shè)置,這會(huì)使searchd僅運(yùn)行一次開(kāi)銷(xiāo)昂貴的全文檢索和相關(guān)度計(jì)算,然后在此基礎(chǔ)上產(chǎn)生多個(gè)分組結(jié)果。
有時(shí)您不僅需要簡(jiǎn)單地顯示搜索結(jié)果,而且要顯示一些與類(lèi)別相關(guān)的計(jì)數(shù)信息,例如按制造商分組后的產(chǎn)品數(shù)目,此時(shí)批量查詢(xún)會(huì)節(jié)約大量的開(kāi)銷(xiāo)。 若無(wú)批量查詢(xún),您會(huì)必須將這些本質(zhì)上幾乎相同的查詢(xún)運(yùn)行多次并取回相同的匹配項(xiàng),最后產(chǎn)生不同的結(jié)果集。若使用批量查詢(xún),您只須將這些查詢(xún)簡(jiǎn)單地組成一個(gè) 批量查詢(xún),Sphinx會(huì)在內(nèi)部?jī)?yōu)化掉這些冗余的全文搜索。
AddQuery()在內(nèi)部存儲(chǔ)全部當(dāng)前設(shè)置狀態(tài)以及查詢(xún),您也可在后續(xù)的AddQuery()調(diào)用中改變?cè)O(shè)置。早先加入的查詢(xún)不會(huì)被影響,實(shí)際上沒(méi)有任何辦法可以改變它們。用上述代碼,第一個(gè)查詢(xún)會(huì)在“documents”索引上查詢(xún)“hello world”并將結(jié)果按相關(guān)度排序,第二個(gè)查詢(xún)會(huì)在“products”索引上查詢(xún)“ipod”并將結(jié)果按價(jià)格排序,第三個(gè)查詢(xún)?cè)凇癰ooks”索引上搜 索“harry potter”,結(jié)果仍按價(jià)格排序。注意,第二個(gè)SetSortMode()調(diào)用并不會(huì)影響第一個(gè)查詢(xún)(因?yàn)樗呀?jīng)被添加了),但后面的兩個(gè)查詢(xún)都會(huì)受影 響。
此外,在AddQuery()之前設(shè)置的任何過(guò)濾,都會(huì)被后續(xù)查詢(xún)繼續(xù)使用。因此,如果在第一個(gè)查詢(xún)前使用SetFilter(),則通過(guò) AddQuery()執(zhí)行的第二個(gè)查詢(xún)(以及隨后的批量查詢(xún))都會(huì)應(yīng)用同樣的過(guò)濾,除非你先調(diào)用ResetFilters()來(lái)清除過(guò)濾規(guī)則。同時(shí),你還 可以隨時(shí)加入新的過(guò)濾規(guī)則
AddQuery()并不修改當(dāng)前狀態(tài)。也就是說(shuō),已有的全部排序、過(guò)濾和分組設(shè)置都不會(huì)因這個(gè)調(diào)用而發(fā)生改變,因此后續(xù)的查詢(xún)很容易地復(fù)用現(xiàn)有設(shè)置。
AddQuery()返回RunQueries()結(jié)果返回的數(shù)組中的一個(gè)下標(biāo)。它是一個(gè)從0開(kāi)始的遞增整數(shù),即,第一次調(diào)用返回0,第二次返回1,以此類(lèi)推。這個(gè)方便的特性使你在需要這些下標(biāo)的時(shí)候不用手工記錄它們。
?PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 治县。| 集贤县| 滕州市| 瑞昌市| 洛隆县| 三门峡市| 巴青县| 洛宁县| 永康市| 永顺县| 巫山县| 阳泉市| 五河县| 来安县| 桐庐县| 句容市| 泊头市| 彭山县| 平邑县| 清水河县| 游戏| 甘谷县| 晋宁县| 辽阳市| 房产| 宁都县| 江北区| 河间市| 镇江市| 东港市| 奈曼旗| 吴桥县| 安宁市| 长治县| 北川| 独山县| 襄垣县| 双辽市| 胶南市| 宜良县| 金川县|