您好,登錄后才能下訂單哦!
這篇文章主要講解了“ElasticSearch基本操作方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ElasticSearch基本操作方法有哪些”吧!
創建索引
對比關系型數據庫,創建索引就等同創建數據庫
PUT請求
http://127.0.0.1:9200/shopping
查詢索引
GET請求
http://127.0.0.1:9200/shopping
查詢所有索引
GET請求
http://127.0.0.1:9200/_cat/indices?v
刪除索引
DELETE請求
http://127.0.0.1:9200/shopping
索引已經創建好了,接下來我們創建文檔,并添加數據。這里的文檔可以類比為關系型數據庫中的表數據,添加的數據格式為JSON格式
創建文檔
POST請求
http://127.0.0.1:9200/shopping/_doc #寫法一
http://127.0.0.1:9200/shopping/_create # 寫法二 {"name":"商品"}
PUT請求,主鍵必須冪等性
http://127.0.0.1:9200/shopping/_doc/1001 #寫法一
http://127.0.0.1:9200/shopping/_create/1002 # 寫法二 {"name":"商品"}
POST請求 ,創建自定義id
http://127.0.0.1:9200/shopping/_doc/1001
主鍵查詢
GET請求
http://127.0.0.1:9200/shopping/_doc/1001
全查詢
GET請求
http://127.0.0.1:9200/shopping/_search
全量修改
PUT請求
http://127.0.0.1:9200/shopping/_doc/1001
{"name":"商品"}
局部修改
POST請求
http://127.0.0.1:9200/shopping/_update/1001
{"doc":{"name":"局部修改商品"}}
刪除
DELETE請求
http://127.0.0.1:9200/shopping/_doc/1001
條件查詢
GET請求,方法一
http://127.0.0.1:9200/shopping/_search?q=category:小米
http://127.0.0.1:9200/shopping/_search?q=name:商品
GET請求,方法二(推薦)
http://127.0.0.1:9200/shopping/_search {
"query":{
"match":{
"category":"小米"
}
}
}
全量查詢
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"match_all":{
}
}
}
分頁查詢(from,size)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"match_all":{
}
},
"from":0,#起始位置/偏移量 ,公式:(頁碼-1)* 每頁數據條數 "size":10,#每頁查詢10條 }
指定field分頁查詢 (_source)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"match_all":{
}
},
"from":0,#起始位置/偏移量 ,公式:(頁碼-1)* 每頁數據條數 "size":10,#每頁查詢10條 "_source":["title"]
}
查詢排序(sort)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"match_all":{
}
},
"from":0,#起始位置/偏移量 ,公式:(頁碼-1)* 每頁數據條數 "size":10,#每頁查詢10條 "_source":["title"],
"sort":{
"price":{
"order":"desc"
}
}
}
and查詢(must)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"bool":{
"must":[
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
or查詢(should)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"bool":{
"should":[
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
范圍查詢(filter,range)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"bool":{
"should":[
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{
"range":{
"price":{
"gt":5000
}
}
}
}
}
}
全文檢索匹配(分詞)(match)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"match":{
"category": "小華"
}
}
}
完全匹配(match_phrase)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"match_phrase":{
"category": "小華"
}
}
}
高亮查詢 (hightlight,對結果加html標簽)
GET請求
http://127.0.0.1:9200/shopping/_search {
"query":{
"match_phrase":{
"category": "小華"
}
},
"hightlight":{
"fields":{
"category":{}
}
}
}
返回統計數據和原始數據
GET請求
http://127.0.0.1:9200/shopping/_search {
"aggs":{ #聚合操作 "price_group":{ #名稱,隨意起名 "terms":{ #分組 "field":"price" #分組字段 }
}
}, }
關閉原始數據(size)
GET請求
http://127.0.0.1:9200/shopping/_search {
"aggs":{ #聚合操作 "price_group":{ #名稱,隨意起名 "terms":{ #分組 "field":"price" #分組字段 }
}
}, "size":0
}
平均值
GET請求
http://127.0.0.1:9200/shopping/_search {
"aggs":{ #聚合操作 "price_avg":{ #名稱,隨意起名 "age":{ #平均值 "field":"price" #分組字段 }
}
}, "size":0
}
創建映射
PUT請求
http://127.0.0.1:9200/user/_mapping {
"properties":{
"name":{
"type":"text", #全文檢索分詞查詢 "index":true
},
"sex":{
"type":"keyword",#完全查詢 "index":true
},
"tel":{
"type":"keyword",#不能查詢 "index":false
}
}
}
查詢映射
GET請求
http://127.0.0.1:9200/user/_mapping
增加數據
PUT請求
http://127.0.0.1:9200/user/_create/1001
{
name:"小米",
sex:"男的",
tel:"10010"
}
查詢數據
GET請求
http://127.0.0.1:9200/user/_search {
"query":{
"match": {
name:"小"
}
}
}
GET請求
http://127.0.0.1:9200/user/_search {
"query":{
"match": {
sex:"男" #查詢不到,必須輸入男的 }
}
}
#不支持查詢 GET請求
http://127.0.0.1:9200/user/_search {
"query":{
"match": {
tel:"10010"
}
}
}
感謝各位的閱讀,以上就是“ElasticSearch基本操作方法有哪些”的內容了,經過本文的學習后,相信大家對ElasticSearch基本操作方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。