上一篇:Elasticsearch—索引的創(chuàng)建及查詢(xún)(一)
????????在實(shí)際應(yīng)用中,除了簡(jiǎn)單的查看某個(gè)字段滿(mǎn)足某個(gè)值的數(shù)據(jù)之外,可能還會(huì)有更多的需求。這一篇主要記錄一下查詢(xún)結(jié)果分頁(yè)、每頁(yè)展示數(shù)量設(shè)置,如何對(duì)查詢(xún)結(jié)果排序,如何篩選返回字段。
- 結(jié)果起始頁(yè)和頁(yè)面大小
Elasticsearch中會(huì)默認(rèn)將搜索結(jié)果按10條一頁(yè)進(jìn)行分頁(yè),返回第1頁(yè)(也就是前10個(gè))結(jié)果。
1. from——用于分頁(yè)操作,默認(rèn)是0,,表示第一頁(yè)。可以設(shè)置從第幾頁(yè)顯示,例如滿(mǎn)足條件的有n條,from設(shè)置1(表示第二頁(yè)),則返回從11條開(kāi)始的10條記錄,如果n<=10,設(shè)置1就會(huì)返回空,如果10<n<20,就返回第11到n這幾條數(shù)據(jù)。但需注意:為了確定第二頁(yè)的數(shù)據(jù),Elasticsearch就必須計(jì)算前20項(xiàng)結(jié)果,如果結(jié)果集合不斷增加,獲取某些靠后的翻頁(yè)將會(huì)代價(jià)高昂。
2. size——設(shè)置每一頁(yè)返回的文檔數(shù)量,默認(rèn)是10。需要注意的是:size有最大值,最大可以設(shè)置顯示10000,如果想要更改這個(gè)值,可以在創(chuàng)建索引時(shí)設(shè)置max_result_window,或者重新設(shè)置這個(gè)參數(shù)。更新設(shè)置size最大值.png3. from一般和size一起使用,如下圖,就會(huì)返回前兩條數(shù)據(jù)。參數(shù)修改結(jié)果.pngfrom和size使用示例.png - 對(duì)返回結(jié)果進(jìn)行排序
sort——指定用于排序的字段和排序規(guī)則。默認(rèn)的排序是基于文檔的得分。例如下圖,其中_score就是表示在根據(jù)日期降序排序(desc代表降序,asc代表升序)后,再根據(jù)文檔得分排序。sort使用用例.png - 對(duì)字段進(jìn)行篩選
_source——指定_source字段如何返回。默認(rèn)返回完整的_source字段。通過(guò)配置_source,將過(guò)濾返回的字段。如下圖,其中"include"表示包含哪些字段,"exclude"表示不包含什么。注:上面這些查詢(xún)?cè)O(shè)置都可以一起使用。_source的使用示例.png




