SetFilter("cat_id",array(2));//僅在id為1、3、7的子論壇中搜索$cl->SetFilter("forum_id",array(1,3,7));//范圍篩選//篩選發(fā)布時間為今天,參數(shù)為int時間戳$cl->SetFilterRange("starttime",123,124);//篩選價格$cl->SetFilterRange("price",10.0,99.9);/" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

php之sphinx

系統(tǒng) 2226 0
<?php
//參數(shù)篩選
$cl->SetFilter("cat_id",array(2));
$cl->SetFilter("forum_id",array(1,3,7));
?
$cl->SetFilterRange("starttime",123,124);
//篩選 價格
$cl->SetFilterRange("price",10.0,99.9);
?
// 分組
$cl->SetGroupBy("item_id",SPH_GROUP_ATTR,"order desc");
?
//按照price ?desc排序
$cl->SetSortMode(SPH_SORT_ATTR_DESC,"price");
?注意:會被SetGroupBy中的排序覆蓋?

// 匹配查詢詞中的任意一個
$cl->SetMatchMode ( SPH_MATCH_ANY );
SPH_MATCH_ALL, 匹配所有查詢詞(默認模式);
SPH_MATCH_ANY, 匹配查詢詞中的任意一個;
SPH_MATCH_PHRASE, 將整個查詢看作一個詞組,要求按順序完整匹配;
SPH_MATCH_BOOLEAN, 將查詢看作一個布爾表達式 (參見 第 5.2 節(jié) “布爾查詢語法”);
SPH_MATCH_EXTENDED, 將查詢看作一個CoreSeek/Sphinx內(nèi)部查詢語言的表達式 (參見 第 5.3 節(jié) “擴展查詢語法”). 從版本Coreseek 3/Sphinx 0.9.9開始, 這個選項被選項SPH_MATCH_EXTENDED2代替,它提供了更多功能和更佳的性能。保留這個選項是為了與遺留的舊代碼兼容——這樣即使 Sphinx及其組件包括API升級的時候,舊的應用程序代碼還能夠繼續(xù)工作。
SPH_MATCH_EXTENDED2, 使用第二版的“擴展匹配模式”對查詢進行匹配.
SPH_MATCH_FULLSCAN, 強制使用下文所述的“完整掃描”模式來對查詢進行匹配。注意,在此模式下,所有的查詢詞都被忽略,盡管過濾器、過濾器范圍以及分組仍然起作用,但任何文本匹配都不會發(fā)生.


//從0開始查詢,查詢30條,返回結(jié)果最多為1000
$cl->setLimits(0,30,1000);
?
// 從名稱為index的sphinx索引查詢“電影票”
$cl->Query("電影票","index");
?
// 從名稱為index的sphinx索引查詢“電影票”
$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();

批量查詢(或多查詢)使searchd能夠進行可能的內(nèi)部優(yōu)化,并且無論在任何情況下都會減少網(wǎng)絡連接和進程創(chuàng)建方面的開銷。相對于單獨的查詢,批量查詢不會引入任何額外的開銷。因此當您的Web頁運行幾個不同的查詢時,一定要考慮使用批量查詢。
例如,多次運行同一個全文查詢,但使用不同的排序或分組設置,這會使searchd僅運行一次開銷昂貴的全文檢索和相關度計算,然后在此基礎上產(chǎn)生多個分組結(jié)果。
有時您不僅需要簡單地顯示搜索結(jié)果,而且要顯示一些與類別相關的計數(shù)信息,例如按制造商分組后的產(chǎn)品數(shù)目,此時批量查詢會節(jié)約大量的開銷。 若無批量查詢,您會必須將這些本質(zhì)上幾乎相同的查詢運行多次并取回相同的匹配項,最后產(chǎn)生不同的結(jié)果集。若使用批量查詢,您只須將這些查詢簡單地組成一個 批量查詢,Sphinx會在內(nèi)部優(yōu)化掉這些冗余的全文搜索。
AddQuery()在內(nèi)部存儲全部當前設置狀態(tài)以及查詢,您也可在后續(xù)的AddQuery()調(diào)用中改變設置。早先加入的查詢不會被影響,實際上沒有任何辦法可以改變它們。

用上述代碼,第一個查詢會在“documents”索引上查詢“hello world”并將結(jié)果按相關度排序,第二個查詢會在“products”索引上查詢“ipod”并將結(jié)果按價格排序,第三個查詢在“books”索引上搜 索“harry potter”,結(jié)果仍按價格排序。注意,第二個SetSortMode()調(diào)用并不會影響第一個查詢(因為它已經(jīng)被添加了),但后面的兩個查詢都會受影 響。
此外,在AddQuery()之前設置的任何過濾,都會被后續(xù)查詢繼續(xù)使用。因此,如果在第一個查詢前使用SetFilter(),則通過 AddQuery()執(zhí)行的第二個查詢(以及隨后的批量查詢)都會應用同樣的過濾,除非你先調(diào)用ResetFilters()來清除過濾規(guī)則。同時,你還 可以隨時加入新的過濾規(guī)則
AddQuery()并不修改當前狀態(tài)。也就是說,已有的全部排序、過濾和分組設置都不會因這個調(diào)用而發(fā)生改變,因此后續(xù)的查詢很容易地復用現(xiàn)有設置。
AddQuery()返回RunQueries()結(jié)果返回的數(shù)組中的一個下標。它是一個從0開始的遞增整數(shù),即,第一次調(diào)用返回0,第二次返回1,以此類推。這個方便的特性使你在需要這些下標的時候不用手工記錄它們。
?>

php之sphinx


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美成人精品第一区首页 | 色综合色综合色综合色综合 | 精品国产一区二区三区性色av | 精品特级毛片 | 一级黄色毛片子 | 日韩经典欧美一区二区三区 | 综合网视频 | 波多久久亚洲精品AV无码 | 一级毛片大全 | 欧美午夜视频一区二区三区 | 免费观看一级毛片 | 成人精品一区二区三区校园激情 | 性福演算法 | 免费久久久久 | 成人国产在线看 | 欧美日韩亚洲精品国产色 | 亚洲免费视频大全 | 国产九九视频在线观看 | 在线观看欧美三级 | 久久国产亚洲欧美日韩精品 | 亚洲三级视频 | 成年人免费网站视频 | 黑人黄色大片 | 欧美日韩第二页 | 日本人视频jizz页码69 | 啪啪成人 | 欧美一极视频 | 福利网址 | 日日摸夜夜添夜夜添破第一 | 欧美一级α片 | 国产1页 | 波多野一区二区 | 国产在线精品区 | av片免费 | 国产tv| 丁香婷婷电影 | 天天操夜夜爽 | 亚洲最大视频网站 | 九九精品久久久久久噜噜 | 亚洲看看 | 奇米777视频国产 |