ElasticSearch 學習筆記 9 排序

2021-09-13 03:58:07 字數 1145 閱讀 9658

在 elasticsearch 中, 相關性得分 由乙個浮點數進行表示,並在搜尋結果中通過 _score 引數返回

預設排序是 _score 降序

get /_search}}

}}

如果不需要為0分

get /_search}}

}}

通過時間來對 tweets 進行排序是有意義的,最新的 tweets 排在最前。 我們可以使用 sort 引數進行實現:

get /_search

} }

},"sort": }

}

可以簡寫為

"sort": "number_of_children"
欄位將會預設公升序排序 ,而按照 _score 的值進行降序排序。

排序條件的順序是很重要的。結果首先按第乙個條件排序,僅當結果集的第乙個 sort 值完全相同時才會按照第二個條件進行排序,以此類推。

get /_search

}, "filter" : }}},

"sort": [},}

]}

被解析的字串欄位也是多值字段, 但是很少會按照你想要的方式進行排序。

如果你想分析乙個字串,如 fine old art , 這包含 3 項。

我們很可能想要按第一項的字母排序,然後按第二項的字母排序,諸如此類,

但是 elasticsearch 在排序過程中沒有這樣的資訊。

乙個簡單的方法是用兩種方式對同乙個字串進行索引,這將在文件中包括兩個字段:

analyzed 用於搜尋,

not_analyzed 用於排序

"tweet":
將上面的轉為下面的格式

"tweet": 

}}

使用 tweet 字段用於搜尋,tweet.raw 字段用於排序

get /_search

},"sort": "tweet.raw"

}

elasticsearch學習入門

由於es更新很快,本文這類快餐式的記錄僅供參考 es的官網有比較全面的api,但我看過以後感覺api的層次還是有點亂,至少沒有mongodb的文件那麼簡單易讀。從簡單的應用開始慢慢認識es的。比如要搭建個中文新聞資訊的搜尋引擎,新聞有 標題 內容 作者 型別 發布時間 這五個字段 我們要提供 標題和...

elasticsearch 入門學習

原文 1 思考 大規模資料如何檢索 當系統資料量上了10億 100億條的時候,我們在做系統架構的時候通常會從以下角度去考慮問題 2 傳統資料庫的應對解決方案 對於關係型資料,我們通常採用以下或類似架構去解決查詢瓶頸和寫瓶頸 3 非關係型資料庫的解決方案 對於nosql資料庫,以mongdb為例,其它...

Elasticsearch 學習筆記

參考 關係型資料庫 elasticsearch 資料庫database索引index,支援全文檢索 表table型別type 資料行row文件document,但不需要固定結構,不同文件可以具有不同字段集合 資料列column字段field 模式schema 索引字段型別numeric dataty...