<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
查詢分類:
基本查詢:使用es內建查詢條件進行查詢
組合查詢:把多個查詢組合在一起進行復合查詢
過濾:查詢的同時,通過filter條件在不影響打分的情況下篩選資料
#新增對映 PUT lago { "mappings": { "properties":{ "title":{ "stort":true, "type":"text", "analyzer":"ik_max_word" }, "company_name":{ "stort":true, "type":"keyword", }, "desc":{ "type":"text" }, "comments":{ "type":"integer" }, "add_time":{ "type":"date", "format":"yyy-MM-dd" } } } } #測試資料 POST lago/job { "title":"python django 開發工程師", "company_name":"美團科技有限公司", "desc":"對django熟悉,掌握mysql和非關係型資料庫,網站開發", "comments:200, "add_time":"2018-4-1" } POST lago/job { "title":"python資料分析", "company_name":"百度科技有限公司", "desc":"熟悉python基礎語法,熟悉資料分析", "comments:5, "add_time":"2018-10-1" } POST lago/job { "title":"python自動化運維", "company_name":"上海華為", "desc":"熟悉python基礎語法,精通Linux", "comments:90, "add_time":"2019-9-18" }
GET lagou/job/_search { "query":{ "match":{ "title":"python" } } } #因為title欄位做了分詞,python都能搜尋出來 #搜尋python網站也能搜尋出來,把python和網站分成兩個詞 #搜尋爬取也能搜尋到,把爬和取分詞,去搜尋 #只搜取 搜不到
GET lagou/_search { "query":{ "term":{ "title":"python" } } } #會拿著要查詢的詞不做任何處理,直接查詢 #用python爬蟲,查不到,用match就能查到 { "query":{ "term":{ "company_name":"美團" } } } #通過美團,就查詢不到
GET lagou/_search { "query":{ "terms":{ "title":["工程師","django","運維"] } } } #三個詞,只要有一個,就會查詢出來
GET lagou/_search { "query":{ "match":{ "title":"python" } }, "form":1, "size":2 } #從第一條開始,大小為2
GET lagou/_search { "query":{ "match_all":{} } } #所有資料都返回
GET lagou/_search { "query":{ "match_phrase":{ "title":{ "query":"python系統", "slop":6 } } } } #短語查詢, #會把查詢條件python和系統分詞,放到列表中,再去搜尋的時候,必須滿足python和系統同時存在的才能搜出來 #"slop":6 :python和系統這兩個詞之間最小的距離
GET lagou/_search { "query":{ "multy_match":{ "query":"python", "fields":["title","desc"] } } } #可以指定多個欄位 #比如查詢title和desc這個兩個欄位中包含python關鍵詞的檔案 #"fields":["title^3","desc"]:權重,title中的python是desc中的三倍
GET lagou/_search { "query":{ "stored_fields":["title","company_name"] "match":{ "title":"python" } } } #只返回title和company_name欄位 #"stored_fields":["title","company_name",'dsc'],不會返回dsc,因為我們要求stroed_fields,之前desc欄位設為false(預設),不會顯示
GET lagou/_search { "query":{ "match_all":{} }, "sort":[ { "comments":{ "order":"desc" } } ] } #查詢所有檔案,按comments按desc降序排序
GET lagou/_search { "query":{ "range":{ "comments":{ "gte":10, "lte":20, "boost":2.0 } } } } #指定comments欄位大於等於10,小於等於20 #boost:權重 GET lagou/_search { "query":{ "range":{ "add_time":{ "gte":"2019-10-11", "lte":"now", } } } } #對時間進行查詢
GET lagou/_search { "query":{ "wildcard":{ "title":{ "value":"pyth*n", "boost":2.0 } } } } #模糊查詢,title中,有pyth任意值n得都能查出來
exists:欄位包含,存在的 # 包含followers_count欄位 GET user_toutiao/_search { "query": { "bool": { "must": [ {"exists": { "field": "followers_count" }} ] } } } # 不包含followers_count欄位 GET user_toutiao/_count { "query": { "bool": { "must_not": [ {"exists": { "field": "followers_count" }} ] } } } # 不包含followers_count且updata_timestamp>1614221216 GET user_toutiao/_count { "query": { "bool": { "must_not": [ { "exists": { "field": "followers_count" } } ], "must": [ {"range": { "updata_timestamp": { "gt": 1614221216 } }} ] } } }
#bool查詢包括must should must_not filter ''' bool:{ "filter":[], 欄位過濾 "must":[], 所有查詢條件都滿足 "should":[], 滿足一個或多個 "must_not":{} 都不滿足於must相反 } ''' # 建立測試資料 POST lago/testjob/_bulk {"index":{"_id":1}} {"salary":10,"title":"Python"} {"index":{"_id":2}} {"salary":20,"title":"Scrapy"} {"index":{"_id":3}} {"salary":30,"title":"Django"} {"index":{"_id":4}} {"salary":30,"title":"Elasticsearch"}
#select * from testjob where salary=20 GET lagou/testjob/_search { "query":{ "bool":{ "must":{ "match_all":{} }, "filter":{ "term":{ "salary":20 } } } } }
#查詢薪資是10k或20k的 GET lagou/testjob/_search { "query":{ "bool":{ "must":{ "match_all":{} }, "filter":{ "terms":{ "salary":[10,20] } } } } } #select * from testjob where title="python" GET lagou/testjob/_search { "query":{ "bool":{ "must":{ "match_all":{} }, "filter":{ "term":{ "title":"Python" } } } } } #title 是text欄位,會做大小寫轉換,term不會預處理,拿著大寫Python去查查不到 #可以改成小寫,或者用match來查詢 ''' "filter":{ "match":{ "title":"Python" } } ''' #檢視分析器解析結果 GET _analyze { "analyzer":"ik_max_word", "text":"python網路開發工程師" }
#select * from testjob where (salary=20 or title=Python) and (salary!=30) #查詢薪資等於20k或者工作為python的工作,排除價格為30k的 { "query":{ "bool":{ "should":[ {"term":{"salary":20}}, {"term":{"title":"python"}} ], "must_not":{ "term":{"salary":30} } } } } #select * from testjob where title=python or (title=django and salary=30) { "query":{ "bool":{ "should":[ {"term":{"title":"python"}}, { "bool":{ "must":[ {"term":{"title":"django"}}, {"term":{"salary":30}} ] } } ] } } }
以上就是Elasticsearch之基本查詢及組合查詢操作範例的詳細內容,更多關於Elasticsearch基本查詢組合查詢的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45