query DSL:domain Specialed Lanaguage 在特定領(lǐng)域的語(yǔ)言
使用match_all 可以查詢到所有文檔,是沒(méi)有查詢條件下的默認(rèn)語(yǔ)句。
all = {
"query": {
"match_all": {}
}
}
排序
查詢所有新聞?lì)愋屠锩姘?經(jīng)濟(jì)",同時(shí)按情感值排序
match_class_order = {
"query": {
"match": {
"class1": "經(jīng)濟(jì)"
}
},
"sort": [
{
"VideoSize": {
"order": "desc"
}
}
]
}
實(shí)現(xiàn)分頁(yè)查詢
match_class_order_page = {
"query": {
"match": {
"class1": "經(jīng)濟(jì)"
}
},
"sort": [
{
"VideoSize": {
"order": "desc"
}
}
],
"from": 1, # 從第幾個(gè)數(shù)據(jù)開(kāi)始
"size": 5 # 每頁(yè)數(shù)據(jù)個(gè)數(shù)
}
返回指定字段的數(shù)據(jù)
all = {
"query": {
"match_all": {}
},
"_source": ['id', "class1", "VioceSize"]
}
多條件
bool 過(guò)濾可以用來(lái)合并多個(gè)過(guò)濾條件查詢結(jié)果的布爾邏輯,它包含以下操作符:
must :: 多個(gè)查詢條件的完全匹配,相當(dāng)于 and。
must_not :: 多個(gè)查詢條件的相反匹配,相當(dāng)于 not。
should :: 至少有一個(gè)查詢條件匹配, 相當(dāng)于 or。
這些參數(shù)可以分別繼承一個(gè)過(guò)濾條件或者一個(gè)過(guò)濾條件的數(shù)組
must_should = {
"query": {
"bool":{
"must":[
{
"match": {
"class1": "經(jīng)濟(jì)"
}
},
],
"filter": {
"range": {
"VideoSize": {
"gte": 3000,
"lte": 5000
}
}
}
},
}
}
不要分詞,精確匹配
"query": {
{
"match_phrase": {
"news_intro": "佛山市高明區(qū)"
}
},
}
高亮選中
must_should = {
"query": {
"match_phrase": {
"news_intro": "佛山市高明區(qū)"
}
},
"highlight": {
"fields": {
"news_intro":{}
}
}
}

image.png
聚合分析
group = {
"aggs":{
"group_by_class1":{ # 名字可以隨便起
"terms":{
"field": "class1"
}
}
}
}
結(jié)果 在 hits 里面, 和 _source 同級(jí)

image.png