目前sphinx支援6種排序模式。分別是:
1. sph_sort_relevance
2. sph_sort_attr_desc
3. sph_sort_attr_asc
4. sph_sort_time_segments
5. sph_sort_extended
6. sph_sort_expr
第一種表示按照相關度排序,以降序排序(最佳匹配記錄排到最前面)。
第二種表示按照文件屬性排序,以降序排序(屬性值大的排在前面)。
第三種表示按照文件屬性排序,以公升序排序(屬性值小的記錄排在前面)。
第四種表示按照時間段排序(比如最近1小時/1天/1周/1個月),以降序排列,然後是相關度排序,以降序排列。
第五種表示按照擴充套件語句排序,由文件字段組成的類似sql語句的排序,可以設定公升序或降序。
第六種表示表示式模式,由算術表示式來決定順序。
例子1:
1. 以權重公升序的方式排序
$sph = new sphinxclient();
$sph->setsortmode(sph_sort_extended, "@weight asc");
它會以weight的數值按照從小到大的順序排列搜尋出來的記錄,在查詢的那一瞬間就生產出這個列表。
**:
//其他內容...
[matches] => array
( [0] => array
( [id] => 100004[weight] => 1678[attrs] => array
( [cid] => 100004[title] =>香港
[name] =>xianggang
[title_en] =>hongkong
[showname] =>[
time] => 1517389143)
)[1] => array
( [id] => 100614[weight] => 2745[attrs] => array
( [cid] => 100614[title] =>香港迪士尼樂園
[name] =>xianggangdishinileyuan
[title_en] =>hong kong disneyland
[showname] =>香港迪士尼樂園
[time] => 1517389143)
)[2] => array
( [id] => 100616[weight] => 2745[attrs] => array
( [cid] => 100616[title] =>香港海洋公園
[name] =>xiangganghaiyanggongyuan
[title_en] =>hongkong ocean park
[showname] =>香港海洋公園
[time] => 1517389143)))
//其他**...
2. 以權重降序的方式排序
$sph = new sphinxclient();
$sph->setsortmode(sph_sort_extended, "@weight desc");
Sphinx 排序模式 SetSortMode
可使用如下模式對搜尋結果排序 sph sort relevance忽略任何附加的引數,永遠按相關度評分排序。所有其餘的模式都要求額外的排序子句,子句的語法跟具體的模式有關。sph sort attr asc,sph sort attr desc以及sph sort time segments這三個模...
Sphinx 斯芬克司
sphinx定義 是乙個基於sql的全文檢索引擎,可以結合mysql,postgresql做全文搜尋,它可以提供比資料庫本身更專業的搜尋功能,使得應用程式更容易實現專業化的全文檢索。同時為mysql也設計了乙個儲存引擎外掛程式。sphinx優點 單一索引最大可包含1億條記錄,在1千萬條記錄情況下的查...
Sphinx實時索引
1,首先建立乙個表用來儲存主索引和增量索引的id值 create table if not exists sph counter s id int 10 unsigned not null auto increment,p id int 11 not null,primary key s id 2,...