ES Kibana
GET _cat/indices?v 获取es当前行信息
创建Document
PUT /ecommerce/product/1
{
"name" : "gaolujie yagao",
"desc" : "gaoxiao meibai",
"price" : 30,
"producer" : "gaolujie producer",
"tags": [ "meibai", "fangzhu" ]
}
查询
GET /ecommerce/product/2
覆盖,替换文档(全量替换)
PUT /ecommerce/product/1
{
"name" : "jiaqiangban gaolujie yagao",
"desc" : "gaoxiao meibai",
"price" : 30,
"producer" : "gaolujie producer",
"tags" : [ "meibai" , "fangzhu" ]
}
注意:1.document是不可变的,如果要修改document的内容,可以通过全量替换,直接对document 重新建立索引,替换里面所有的内容。 2.es会将老的document标记为deleted(逻辑删除),然后新增我们给定的一个document,当我们 创建越来越多的document的时候,es会在适当的时机在后台自动删除(物理删除)标记为deleted 的document。 3.替换必须带上所有的field,否则其他数据会丢失。 14 #4.修改(更新文档)
POST /ecommerce/product/1/_update
{
"doc" : {
"name" : "jiaqianban gaolujie yagao1"
}
}
删除文档
DELETE /ecommerce/product/2
注意:在删除一个document之后,我们可以从侧面证明,它不是立即物理删除的,因为它的一些版本号信息还是保留的
使用query DSL 请求查询
GET /ecommerce/product/_search
{
"query" : {
"match_all" : {}
}
}
查询名称包含yaogao的商品,同时按照价格降序排列
GET /ecommerce/product/_search
{
"query" : {
"match" : {
"name" : "yagao"
}
},
"sort" : [
{ "price" : "desc"}
]
}
分页查询
#总共3条商品,假设每页就显示1条商品,现在显示第2页,所以就查出来第2个商品
GET /ecommerce/product/_search
{
"query" : { "match_all" : {}},
"from" : 1,
"size" : 1
}
指定查询项
GET /ecommerce/product/_search
{
"query" : {"match_all" : {}},
"_source" : ["name", "price"]
}
过滤查询
搜索商品名称包含yaogao,而且售价大于25元的商品
GET /ecommerce/product/_search
{
"query" : {
"bool" : {
"must" : {
"match" : {
"name" : "yagao"
}
},
"filter" : {
"range" : {
"price": {"gt" : 25}
}
}
}
}
}

浙公网安备 33010602011771号