ES增删改查入门

一、文档管理

1.添加文档

模板:

PUT /{索引}/_doc/{id}
{请求体数据信息json格式}

例子:

PUT /book/_doc/1
{
"title":"Java程序性能",
"desc":"强类型语言"
}

2.修改文档

模板:

POST /{索引}/_doc/{id}
{请求体数据信息json格式}

例子:

POST /book/_doc/1
{
"title":"Go程序性能",
"desc":"强类型语言"
}

3.删除文档

模板:

DELETE /{索引}/_doc/{id}

例子

DELETE /book/_doc/1

4.获取文档

模板:

GET /{索引}/_doc/{id}

例子:

GET /book/_doc/1

5.批处理

模板:

[PUT|POST]  /{索引}/_bulk
{action:{metadata}}
{请求体数据信息json格式}

备注:

action对应取值:

  • create : 创建一个文档,如果文档不存在就创建
  • index : 创建一个新的文档,如果文档存在就更新
  • update : 批量更新文档
  • delete : 批量删除,不需要有请求体

例子:

POST /book/_bulk
{"index":{"_id":1}}
{"id":1,"title":"php入门到精通","desc":"php是世界上最好的语言"}
{"index":{"_id":2}}
{"id":1,"title":"java入门到精通","desc":"java是世界上最快的语言"}

二、查询数据 - query

1.查询全部数据 - match_all

POST /{索引}/_search
{
  "query": {
  	"match_all": {}
  }
}

2.关键词查询 - term

模板:

POST /{索引}/_search
{
  "query":{
    "term":{
    	"{字段名}":"{搜索词}"
    }
  }
}

例子:

POST /book/_search
{
  "query": {
    "term": {
    	"desc": "java"
    }
  }
}

3.根据查询字符串查询 - query_string

模板:

POST /{索引}/_search
{
  "query":{
    "query_string":{
      "default_field":"{字段名}",
      "query":"{查询字符串}"
    }
  }
}

例子

POST /book/_search
{
  "query":{
    "query_string":{
      "default_field":"desc",
      "query":"java"
    }
  }
}

4.根据查询字符串查询 - match

POST /book/_search
{
  "query":{
    "match":{
    	"title":"java"
    }
  }
}

5.指定多个字段查询 - multi_match

POST /book/_search
{
  "query":{
    "multi_match":{
      "query":"入门",
      "fields":["desc","title"]
    }
  }
}

三、bool查询

1.组合条件查询

逻辑关系:
must:必须满足,相当于是AND
should:应该满足,相当于OR
must_not:必须不能满足,相当于NOT
filter: 必须满足,不计分,同时可以cache

POST /book/_search
{
  "query":{
  "bool":{
    "should":[
      {
        "term": {
        	"title": "java"
        }
      },
      {
        "match": {
        	"desc": "PHP"
        }
      }
     ]
  	}
	}
}

2.filter条件搜索

(1)范围搜索 - range

  • gt :大于
  • lt :小于
  • gte :大于等于
  • lte :小于等于

例子:

POST /book/_search
{
  "query":{
  "bool":{
    "filter":{
      "range":{
        "price":{
          "gt":25,
          "lt":50
          }
        }
      }
    }
  }
}

(2)字段存在查询 - exists

例子:

{
  "query":{
  "bool":{
    "filter":{
      "exists":{
        "field":"desc"
      }
      }
    }
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值