elasticsearch kibana簡單查詢講解
一、簡單的CRUD操作
1、添加
PUT /index/type/id { "json數(shù)據(jù)" }
2、查詢
GET /index/type/id
3、修改
POST /index/type/id/_update { "doc": { "FIELD": "值" } }
4、刪除
DELETE /index/type/id
二、搜索
搜索可以分成六大類
- 1、query string search
- 2、query DSL
- 3、query filter
- 4、full-text search
- 5、phrase search
- 6、highlight search
1、query string search
搜索全部:GET supplier/user/_search
{ "took": 2, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 3, "max_score": 1, "hits": [ { "_index": "supplier", "_type": "user", "_id": "2", "_score": 1, "_source": { "name": "lisi", "age": 26, "address": "bei jing tong zhou", "price": 10000, "dept": [ "kaifabu" ] } }, { "_index": "supplier", "_type": "user", "_id": "1", "_score": 1, "_source": { "name": "zhangsan", "age": 30, "address": "bei jing chang chun jie", "price": 15000, "dept": [ "kaifabu", "yanfabu" ] } }, { "_index": "supplier", "_type": "user", "_id": "3", "_score": 1, "_source": { "name": "wangwu", "age": 26, "address": "bei jing tong zhou yun he ming zhu", "price": 13000, "dept": [ "kaifabu" ] } } ] } }
took:耗費了幾毫秒
timed_out:是否超時,這里是沒有
_shards:數(shù)據(jù)拆成了5個分片,所以對于搜索請求,會打到所有的primary shard(或者是它的某個replica shard也可以)
hits.total:查詢結果的數(shù)量,3個document
hits.max_score:score的含義,就是document對于一個search的相關度的匹配分數(shù),越相關,就越匹配,分數(shù)也高
hits.hits:包含了匹配搜索的document的詳細數(shù)據(jù)
2、query DSL
查詢所有
GET supplier/user/_search { "query": { "match_all": {} } }
查詢全部并且排序
GET suppluer/user/_search { "query": { "match_all": {} } , "sort": [ { "price": { "order": "desc" } } ] }
分頁查詢
GET supplier/user/_search { "query": { "match_all": {} }, "from": 1, "size": 1 }
指定要查詢顯示的field
GET supplier/user/_search { "query": { "match_all": {} }, "_source": ["name", "price"] }
3、query filter
搜索name為‘lisi'并且price大于1500的
GET supplier/user/_search { "query" : { "bool" : { "must" : { "match" : { "name" : "lisi" } }, "filter" : { "range" : { "price" : { "gt" : 1500} } } } } }
4、full-text search(全文檢索)
address這個字段,會先被拆解,建立倒排索引
GET /ecommerce/product/_search { "query" : { "match" : { "address" : "bei jing" } } }
5、phrase search(短語搜索)
跟全文檢索相對應,相反,全文檢索會將輸入的搜索串拆解開來,去倒排索引里面去一一匹配,只要能匹配上任意一個拆解后的單詞,就可以作為結果返回
phrase search,要求輸入的搜索串,必須在指定的字段文本中,完全包含一模一樣的,才可以算匹配,才能作為結果返回
GET /ecommerce/product/_search { "query" : { "match_phrase" : { "address" : "bei jing" } } }
6、highlight search(高亮搜索結果)
GET /ecommerce/product/_search { "query" : { "match" : { "address" : "bei jing" } }, "highlight": { "fields" : { "address" : {} } } }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
Spring Cloud OpenFeign REST服務客戶端原理及用法解析
這篇文章主要介紹了Spring Cloud OpenFeign REST服務客戶端原理及用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實用教程
JDBC是Java連接數(shù)據(jù)庫的一種接口,它由各個數(shù)據(jù)庫廠商為開發(fā)者提供的接口,要使用它需要到相應廠商下載對應的jar包,下面這篇文章主要給大家介紹了關于JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實用教程,需要的朋友可以參考下2023-05-05SpringBoot使用@Async注解實現(xiàn)異步調用
這篇文章主要介紹了SpringBoot使用@Async注解實現(xiàn)異步調用,異步調用是相對于同步調用而言的,同步調用是指程序按預定順序一步步執(zhí)行,每一步必須等到上一步執(zhí)行完后才能執(zhí)行,異步調用則無需等待,程序執(zhí)行完即可執(zhí)行,可以減少程序執(zhí)行時間,需要的朋友可以參考下2023-10-10java數(shù)學類Math?BigInteger?BigDecimal使用介紹
這篇文章主要為大家介紹了java數(shù)學類Math、BigInteger、BigDecimal的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06Java StringBuffer類與StringBuilder類用法實例小結
這篇文章主要介紹了Java StringBuffer類與StringBuilder類用法,結合實例形式總結分析了Java StringBuffer類與StringBuilder類的功能、原理及添加、刪除、替換、截取等操作實現(xiàn)技巧,需要的朋友可以參考下2019-03-03Spring Security自定義異常 AccessDeniedHandler不生效解決方法
本文主要介紹了Spring Security自定義異常 AccessDeniedHandler不生效解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07java實現(xiàn)切割wav音頻文件的方法詳解【附外部jar包下載】
這篇文章主要介紹了java實現(xiàn)切割wav音頻文件的方法,結合實例形式詳細分析了java切割wav音頻文件的相關原理、操作技巧與注意事項,并附帶外部jar包供讀者下載,需要的朋友可以參考下2019-05-05