ElasticSearch基本操作方法有哪些
这篇文章主要讲解了“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基本操作方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是蜗牛博客,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论