Elastic Search (ES)基本使用

基于kibana的DevTool可以很方便的进行ES的测试。当然,你可以用curl命令或者Postman等工具进行测试。

 

下面是一些基本的数据操作,可以参考一下。

# 获取ES的基本信息
GET _search
{
  "query": {
    "match_all": {}
  }
}

# 添加数据:
# megacorp是index索引名称
# employee是类型
# 1是文档唯一ID
PUT /megacorp/employee/1
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}

# 获取对应索引megacorp,类型employee,ID为2的文档
GET /megacorp/employee/1

# 查看对应索引megacorp,类型employee,ID为2的文档是否存在
HEAD /megacorp/employee/1

# 添加数据:
# megacorp是index索引名称
# employee是类型
# 2是文档唯一ID
PUT /megacorp/employee/2
{
    "first_name" :  "Jane",
    "last_name" :   "Smith",
    "age" :         32,
    "about" :       "I like to collect rock albums",
    "interests":  [ "music" ]
}

# 获取对应索引megacorp,类型employee,ID为2的文档
GET /megacorp/employee/2

# 添加数据:
# megacorp是index索引名称
# employee是类型
# 3是文档唯一ID
PUT /megacorp/employee/3
{
    "first_name" :  "Douglas",
    "last_name" :   "Fir",
    "age" :         35,
    "about":        "I like to build cabinets",
    "interests":  [ "forestry" ]
}

# 获取对应索引megacorp,类型employee,ID为3的文档
GET /megacorp/employee/3

# 获取对应索引megacorp,类型employee的所有文档
GET /megacorp/employee/_search

# 搜索对应索引megacorp,类型employee的last name 为“Smith”的文档
GET /megacorp/employee/_search?q=last_name:"Smith"

# 搜索对应索引megacorp,类型employee的last name 为“Smith” 且about字段中包含“albums”的文档
GET /megacorp/employee/_search?q=last_name:"Smith" AND about:albums

# 搜索对应索引megacorp,类型employee的last name 为“Smith”的文档
GET /megacorp/employee/_search
{
  "query": {
    "match": {
      "last_name": "Smith"
    }
  }
}

# 搜索对应索引megacorp,类型employee的last name 为“Smith”的文档中年龄大于25的部分
GET /megacorp/employee/_search
{
  "query": {
    "bool": {
      "must": {
        "match": {
          "last_name": "Smith"
        }
      },
      "filter": {
        "range": {
          "age": {
            "gt": 25
          }
        }
      }
    }
  }
}

# 搜索对应索引megacorp,类型employee的about字段中包括“rock”或者“climbing” 全字的文档
GET /megacorp/employee/_search
{
  "query": {
    "match": {
      "about": "rock climbing"
    }
  }
}

# 搜索对应索引megacorp,类型employee的about字段中包括“rock climbing”全字的文档
GET /megacorp/employee/_search
{
  "query": {
    "match_phrase": {
      "about": "rock climbing"
    }
  }
}

# 搜索对应索引megacorp,类型employee的about字段中包括“rock climb”为前缀的文档
GET /megacorp/employee/_search
{
  "query": {
    "match_phrase_prefix": {
      "about": "rock climb"
    }
  }
}

# 搜索对应索引megacorp,类型employee的about字段中包括“rock climbing”全字的文档,并且高亮搜索到的词
GET /megacorp/employee/_search
{
  "query": {
    "match": {
      "about": "rock climbing"
    }
  },
  "highlight": {
    "fields": {
      "about": {}
    }
  }
}

# 聚合对应索引megacorp,类型employee的文档中interests字段。ES 5.0版本以上不再支持
GET /megacorp/employee/_search
{
  "aggs": {
    "all_interests": {
      "terms": { "field": "interests" }
    }
  }
}

参考文档:LiveToolkit

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值