Sphinx排序模式

2022-02-05 03:55:16 字數 1725 閱讀 4668

目前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,...