---對(duì)應(yīng)關(guān)系
elastcisearch ????????????mysql
index(索引) ???? ????????????數(shù)據(jù)庫(kù)
type(類型) ???????? ????????表
documents(文檔) ????????行
fields???????????????????????????? 列
---RESTful常用接口
GET/POST/PUT/DELETE
=======================
***新建索引
---shards(分片)設(shè)置后不能修改,replicas(副本)
put my-index
{"setting":{"index":{"number_of_shards":5,"number_of_replicas":1}}}
--- index/type/id創(chuàng)建方式
put my-index/test/1
{"name":"demo"}
***獲取setting
get my-index/_setting
get .kibana,my-index/_setting
get _all/_setting
get _setting
***更新
---覆蓋式
PUT my-index/test/1
{"name":"demo","age":"18"}
---字段式
GET my-index/test/1/_update
{"doc":{"phone":"90980"}}
***獲取索引
---GET or POST
GET _all
GET my-index
GET my-index/test/1
---獲取某個(gè)字段
GET my-index/test/1?_source=name,age
GET my-index/test/1?_source=name
GET my-index/test/1?_source
***刪除
---id
DELETE my-index/test/1
---index
DELETE my-index
***批量操作
---_mget
GET _mget
{"docs":[{"_index":"my-index","_type":"test","_id":1},{"_index":"my-index","_type":"test2","_id":1}]}
GET my-index/_mget
{"docs":[{"_type":"test","_id":1},{"_type":"test2","_id":1}]}
GET my-index/test/_mget
{"docs":[{"_id":1},{"_id":1}]}
GET my-index/test/_mget
{"ids":[1,2]}
---bulk
POST _bulk
{"index":{"_index":"my-index", "_type":"test", "_id":1}}
{"name":"demo", "age":"18"}
{"index":{"_index":"my-index", "_type":"test", "_id":2}}
{"name":"demo2", "age":"19"}
{"delete":{"_index":"my-index", "_type":"test", "_id":1}}
{"update":{"_index":"my-index", "_type":"test", "_id":2}}
{"doc":{"phone":"12580"}}
{"create":{"_index":"my-index", "_type":"test", "_id":3}}
{"name":"demo3", "age":"18"}
***映射
---內(nèi)置類型
string類型敞临、數(shù)字類型薪铜、日期類型、bool類型韧献、binary類型约谈、復(fù)制類型贷帮、geo類型敢伸、專業(yè)類型
---
store(all)辛萍、index(string)遇骑、null_value(all)卖毁、analyzer(all)、include_in_all(all)落萎、format(date)
---新建映射
PUT my-index
{"mappings":{"test":{"properties":{
"name":{"store":true,"type":"text","analyzer":"ik_max_word"},
"age":{"type":"integer"},"phone":{"store":true,"type":"keyword"},
"birth":{"type":"date","format":"yyyy-MM-dd"},
"addr":{"properties":{"province":{"type":"text"},"city":{"type":"text"}}}
}}}}
---獲取映射
GET my-index/_mapping/test
GET _all/_mapping/test
***查詢
---基本查詢亥啦、組合查詢、過(guò)濾
---match:會(huì)分詞
GET my-index/test/_search
{"query":{"match":{"name":"demo"}}}
---term:不會(huì)分詞
GET my-index/_search
{"query":{"term":{"name":"demo"}}}
---terms:
GET my-index/_search
{"query":{"terms:{"name":["demo","demo2"]}}}
---控制返回?cái)?shù)量:from(從第幾個(gè)開始),size(取多少條數(shù)據(jù))
GET my-index/test/_search
{"query":{"match":{"name":"demo"}},"from":1,"size":2}
---match_all
GET my-index/test/_search
{"query":{"match_all":{}}}
---match_phrase(短語(yǔ)查詢):demo拆分后若為demo和名练链,則需要滿足demo與名都存在則返回翔脱,slop是拆詞后最小距離
GET my-index/test/_search
{"query":{"match_phrase":{"name":{"query":"demo名","slop":6}}}}
---multi_match(多字段查詢):
GET my-index/test/_search
{"query":{"multi_match":{"query":"demo","fields":["name","addr"]}}}
---指定返回字段:
GET my-index/_search
{"stored_fields":["name","age"],"query":{"match":{"name":"demo"}}}
---排序asc(升序)/desc(降序)
GET my-index/_search
{"sort":[{"age":{"order":"asc"}}],"query":{"match":{"name":"demo"}}}
---范圍查詢(range):gte(>=)/gt(>)lte(<=),boost權(quán)重
GET my-index/_search
{"query":{"range":{"age":{"gte":18,"lte":30,"boost":2.0}}}}
GET my-index/_search
{"query":{"range":{"birth":{"gte":"208-1-1","lte":"now","boost":2.0}}}}
---wildcard查詢:模糊
GET my-index/_search
{"query":{"wildcard":{"name":{"value":"demo*","boost":2.0}}}}
---組合查詢
---bool查詢:filtered已被bool替換,must/should/must_not/filter
---fliter:過(guò)濾,must:所有必須滿足,should:至少滿足一個(gè),must_not:一個(gè)都不滿足
---fliter:
=查詢年齡為20
GET my-index/_search
{"query":{"bool":{"must":{"match_all":{}},"filter":{"term":{"age":20}}}}}
=查詢年齡為10與20
GET my-index/_search
{"query":{"bool":{"must":{"match_all":{}},"filter":{"terms":{"age":[18,20]}}}}}
---查看分析器結(jié)果
GET _analyze
{"analyzer": "ik_max_word","text": "demo12中文"}
=查詢姓名為demo或者聯(lián)系方式為12580媒鼓,排除年齡為20
GET my-index/_search
{"query":{"bool":{"should":{{"term":{"name":"demo"}},{"term":{"phone":"12580"}}},"must_not":{{"term":{"age":20}}}}}}
===查詢name=demo 或者 (age=20并且phone=12580)
GET my-index/_search
{"query":{"bool":{"should":[{"term":{"name":"demo"}},{
"bool":{"must":[{"term":{"age":20}},{"term":{"phone":"12580"}}]}}]}}}
===查詢不為null
GET my-index/_search
{"query":{"bool":{"filter":{"exists"{"field":"addr"}}}}}
ok届吁,接下來(lái)可以結(jié)合語(yǔ)言使用了÷堂可以查看官方文檔鹃祖,但是要對(duì)應(yīng)版本砸逊。