es篩選資料 Elasticsearch 資料查詢

2021-10-13 04:03:54 字數 1909 閱讀 2390

資料準備:

put /shop

,"price": ,"stock":

post/shop/goods/_bulk}}

}}一、基本查詢

語法:get /索引庫名/_search

查詢型別:match_all,match,term,range,fuzzy,bool 等等

查詢條件:查詢條件會根據型別的不同,寫法也有差異

1.1 查詢所有(match_all)

查詢指令:

get /shop/_search

查詢結果:

,"hits":

對查詢結果進行分頁

get /shop/_search

},"from": 1,"size": 2}

1.2 匹配查詢(match)

or 關係:會把查詢條件進行分詞,然後進行查詢,多個詞條之間是or的關係

查詢指令:

get /shop/_search

查詢結果:

,"hits":

and關係:會把查詢條件進行分詞,然後進行查詢,多個詞條之間是and的關係

查詢指令:

get /shop/_search

查詢結果:

,"hits":

1.3 詞條查詢

單值查詢(term)

查詢指令:

get /shop/_search

查詢結果:

,"hits":

多值查詢(terms)

查詢指令:

get /shop/_search

,"hits":

二、結果過濾

預設情況下,elasticsearch在搜尋的結果中,會把文件中儲存在 _source 的所有欄位都返回。

如果我們只想獲取其中的部分字段,我們可以新增 _source 字段進行過濾

2.1 包含字段查詢(includes)

查詢指令:

get /shop/_search

},"_source": ,"hits":

2.2 排除字段查詢(excludes)

查詢指令

get /shop/_search

},"_source":

查詢結果:

,"hits":

三、高階查詢

3.1 範圍查詢(range)

查詢找出那些落在指定區間內的數字或者時間

查詢指令:

get /shop/_search

查詢結果:

,"hits":

range查詢允許以下操作符

3.2 布林查詢(bool)

bool把各種其它查詢通過must(與)、must_not(非)、should(或)的方式進行組合

查詢指令:

get /shop/_search

查詢結果:

,"hits":

四、過濾查詢

所有的查詢都會影響到文件的評分及排名。如果我們需要在查詢結果中進行過濾,並且不希望過濾條件影響評分,

那麼就不要把過濾條件作為查詢條件來用,而是使用filter方式。

查詢指令:

get /shop/_search

],"filter":

查詢結果:

,"hits":

注意:filter中還可以再次進行bool組合條件過濾。

五、排序查詢

sort 可以讓我們按照不同的字段進行排序,並且通過order指定排序的方式。

查詢指令:

get /shop/_search

},"sort": [

查詢結果:

,"hits": ,"sort": [8599]

,"sort": [4999]

,"sort": [2299]

,"sort": [109]

Solr集群資料遷移至Elasticsearch

elasticsearch是一款非常強大的搜尋引擎,可以讓你在海量的資料中快速找到想要的內容。例如,搜尋 可以幫助您找到相應的 倉庫,還可以實現 級的搜尋及高亮顯示 網上shopping 可以幫助您推薦商品。除了大資料搜尋,elasticsearch結合logstash和beats,還被廣泛應用在大...

es6條件查詢篩選資料

引用場景如下,列表查詢時需要用到前端查詢 具體實現方法如下 前面定義的變數是查詢條件,this.alldata表示被篩選的資料,filtedata是查詢結果 querydata this.officerdata filterdata 因為有多個地方需要用到前端查詢,我們可以進行封裝 在util.js...

資料的篩選

excel2016中提供了3種資料的篩選操作,即 自動篩選 自定義篩選 和 高階篩選 自動篩選 自動篩選 一般用於簡單的條件篩選,篩選時將不滿足條件的資料暫時隱藏起來,只顯示符合條件的資料 對工作表中的資料進行自動篩選的具體步驟如下 指定資料的篩選 開啟工作表,選中單元格a2 l11,切換到 資料 ...