最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

袁庭新老師ES系列16節(jié)|Elasticsearch客戶端高級操作

2023-09-21 22:55 作者:袁庭新  | 我要投稿

前言

上一章節(jié)袁老師主要帶領(lǐng)大家學習了Elasticsearch客戶端基礎(chǔ)部分的內(nèi)容,Elasticsearch客戶端還有很多高級相關(guān)的操作,這一章節(jié)主要帶領(lǐng)大家來學習Elasticsearch客戶端高級相關(guān)的操作。接下來就跟上袁老師的節(jié)奏繼續(xù)探討Elasticsearch的相關(guān)知識。

1.查詢所有match_all

1.先準備一部分數(shù)據(jù)。通過Kibana向yx索引庫中插入以下5條數(shù)據(jù)。

2.在ElasticsearchTests類中編寫查詢所有文檔的matchAllQuery()方法。

3.運行matchAllQuery()方法,輸出結(jié)果見下:

注意,上面的代碼中,搜索條件是通過sourceBuilder.query(QueryBuilders.matchAllQuery())來添加的。這個query()方法接受的參數(shù)是QueryBuilder接口類型。

這個接口提供了很多實現(xiàn)類,分別對應(yīng)我們在之前學習的不同類型的查詢。例如:term查詢、match查詢、range查詢、boolean查詢等。見下圖(Mac快捷鍵:command+option+B):

因此,我們?nèi)绻褂酶鞣N不同查詢,其實僅僅是傳遞給sourceBuilder.query(QueryBuilder query)方法的參數(shù)不同而已。而這些實現(xiàn)類不需要我們?nèi)ナ謩觿?chuàng)建 ,官方提供了QueryBuilders工廠幫我們構(gòu)建各種實現(xiàn)類。

2.關(guān)鍵字搜索match

1.在ElasticsearchTests類中定義關(guān)鍵字查詢文檔數(shù)據(jù)的matchQuery()方法。

2.運行matchQuery()方法,輸出結(jié)果見下:

其實搜索類型的變化,僅僅是利用QueryBuilders構(gòu)建的查詢對象不同而已,其他代碼基本一致。因此,我們可以把這段代碼封裝,然后把查詢條件作為參數(shù)傳遞。

3.在ElasticsearchTests類中定義basicQuery()方法封裝代碼,然后重構(gòu)matchQuery()方法。

3.范圍查詢range

QueryBuilders類中定義返回查詢的方法。

RangeQueryBuilder提供多種范圍查詢API,常見用的見下:

1.在ElasticsearchTests類中定義范圍查詢的rangeQuery()方法。

2.運行rangeQuery()方法,輸出結(jié)果見下:

4.source過濾

默認情況下,索引庫中所有數(shù)據(jù)都會返回(_source屬性中存儲原始文檔),如果我們想只返回部分字段,可以通過source filter來控制。

1.在ElasticsearchTests類中定義過濾查詢的sourceFilter()方法。

2.運行sourceFilter()方法,輸出結(jié)果見下:

二. 排序

排序依然是通過SearchSourceBuilder來進行配置。

1.在ElasticsearchTests類中定義過濾查詢的sort()方法。

2.運行sort()方法,輸出結(jié)果見下:

三. 分頁

1.分頁語法

分頁需要視圖層傳遞兩個參數(shù)給后臺。

2.分頁案例

1.在ElasticsearchTests類中定義分頁查詢的paging()方法。

2.運行paging()方法,輸出結(jié)果見下:

四.?結(jié)語

Elasticsearch客戶端高級操作的內(nèi)容袁老師就帶領(lǐng)大學學習到這里,這一章節(jié)主要帶領(lǐng)大學學習了:搜索數(shù)據(jù),包括查詢所有match_all、關(guān)鍵字搜索match、范圍查詢range和source過濾內(nèi)容,同時還介紹了排序和分頁等操作。好了關(guān)于Elasticsearch客戶端操作的所有內(nèi)容我們就學完啦。

今天的內(nèi)容就分享到這里吧。關(guān)注「袁庭新」,干貨天天都不斷!


袁庭新老師ES系列16節(jié)|Elasticsearch客戶端高級操作的評論 (共 條)

分享到微博請遵守國家法律
沙雅县| 湟中县| 当阳市| 衡水市| 大安市| 榆林市| 威海市| 噶尔县| 穆棱市| 民勤县| 桓台县| 伊宁市| 丰县| 加查县| 长泰县| 美姑县| 岑溪市| 永济市| 连城县| 文登市| 长沙市| 湾仔区| 文水县| 宝清县| 沛县| 黔南| 邯郸市| 桂东县| 舞钢市| 茂名市| 高雄县| 庄河市| 繁峙县| 密云县| 九龙城区| 台南市| 凉山| 岑巩县| 益阳市| 慈利县| 江城|