es對查詢結果的排序

2021-10-01 23:56:06 字數 1188 閱讀 7708

核心:sort欄位指定排序;
1、sort欄位指定排序,

倒序:「sort」: }

查詢條件格式如下:

},

},}]

,"should":[

}]}}

,"from":0

,"size":10

,"sort":}

,"aggs"

:}

2、es支援多級排序— sort欄位:

​ 將查詢結果首先按第乙個自定義條件排序,當第乙個 sort 值完全相同時,再按照第二個條件進行排序,以此類推。

get

/_search},

"filter":}

}},"sort":[

},// 用date來進行查詢結果的排序;

}// 當date相同時,再用age來進行排序;

]}

range : 實現範圍查詢
引數:from, to, include_lower, include_upper, boost

include_lower:是否包含範圍的左邊界,預設是true

include_upper:是否包含範圍的右邊界,預設是true

get

/lib3/user/_search }}

}get

/lib3/user/_search }}

}

terms —— 過濾(多個值)

​ terms 跟 term 有點類似,但 terms 允許指定多個匹配條件。

​ 即,如果某個字段指定了多個值,那麼文件需要一起去做匹配:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-hlkxnxtq-1578409119357)(mdpic/20190801150943408.png)]

如上圖所示:

過濾掉:帶有「search」,「full_text」,「nosql」 這三個tag標籤的資料們;

條件。

如上圖所示:

過濾掉:帶有「search」,「full_text」,「nosql」 這三個tag標籤的資料們;

對查詢結果隨機排序

為了對行進行隨機排序,或者返回隨機選擇的x行資料,你可以在select語句中使用rand函式。但是rand函式在整個查詢中只被計算一次,所以所有的行都具有相同的值。你可以使用order by子句根據從newid函式返回的結果來排序行,如以下 所示 select from northwind.orde...

MySQL對查詢結果排序

從表中查詢出來的資料,可能是無序的,或者其排列順序表示使用者期望的 使用order by對查詢結果進行排序 select 欄位名1,欄位名2,from 表名 order by 欄位名1 asc desc 欄位名2 asc desc 指定的欄位名1 欄位名2,是對查詢結果排序的依據 引數asc,表示按...

對查詢結果進行排序

order by 列名 asc desc 公升序或降序排序單列排序 多列排序 指定排序方向 一 單列排序 select from bookinfo order by price desc 注意 預設為公升序排序 二 多列排序 按照多個列進行排序,預設公升序,如 相同 時,按庫存排序 select f...