閱讀237 返回首頁    go iPhone_iPad_Mac_手機_平板_蘋果apple


排序sort子句__搜索子句介紹_API參考手冊_開放搜索-阿裏雲

子句說明

用戶可以通過查詢語句控製結果的排序方式,包括指定排序的字段和升降序。

語法說明

排序子句格式為:+field1;-field2

  • field為要排序的字段,+為按字段值升序排序,-為降序排序;
  • field也支持簡單的算術運算,如+、-、*、等,但參與運算的字段類型必須一致;
  • 支持多維排序,中間用分號(;)分隔;多維排序的含義為,先按照第一維分數排序,如果第一維分數一樣,再按照第二維分數進行檔內排序,以此類推。
  • field部分也可以為“RANK”,表示按照相關性(即排序表達式的計算分值)進行排序。

注意事項

  1. sort為非必選子句。如果不填,則默認為sort=-RANK(按照相關性分值降序返回結果);如果顯式使用了sort子句,且子句中不包含RANK,那麼定義了排序表達式也不會起作用
  2. 在sort中出現的字段必須在定義應用結構的時候勾選“可過濾”;
  3. 返回為int或者float類型的排序特征function函數也可以在sort子句中使用;
  4. string類型的字段按照字典序進行排列;
  5. 大部分場景下array類型字段均不支持。

示例

查找應用中包含“浙大”的文檔,並按照type進行升序排序,如果type相同,則按照文本相關性進行排序:

    query=default:'浙大'&&sort=+type;-RANK    //精排表達式可以為text_relevance(fileld)

查找應用中包含“浙大”的文檔,並按照hits(點擊)和comments(評論數)總和降序排序:

    query=default:'浙大'&&sort=-(hits+comments)

文檔中包含“外婆家”的商家(文檔),並且按照用戶(120.34256,30.56982)距離商家(lon, lat)的距離進行由近及遠的排序:

    query=default:'外婆家'&&sort=+distance(lon,lat,"120.34256","30.56982")

最後更新:2016-11-23 16:04:03

  上一篇:go 過濾filter子句__搜索子句介紹_API參考手冊_開放搜索-阿裏雲
  下一篇:go 統計aggregate子句__搜索子句介紹_API參考手冊_開放搜索-阿裏雲