创建索引

PUT /index/type/id
{
  "name": "名称"
}

导入数据

(1) 导入单条数据

POSt index/type/id
数据(json)

(2)批量导入数据

curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_bulk?pretty&refresh" --data-binary "@/opt/accounts.json"(具体说明查看该文章[es基础命令](https://segmentfault.com/a/1190000043338294))

查询操作

(1)查询所有

GET /index/_search
{
  "query": { "match_all": {} }
}

(2)返回字段说明

1. took – Elasticsearch运行查询所花费的时间(以毫秒为单位)
2. timed_out –搜索请求是否超时_shards - 搜索了多少个碎片,以及成功,失败或跳过了多少个碎片的细目分类。
3. max_score – 找到的最相关文档的分数
4. hits.total.value - 找到了多少个匹配的文档
5. hits.sort - 文档的排序位置(不按相关性得分排序时)
6. hits._score - 文档的相关性得分(使用match_all时不适用)

(3)添加排序查询

GET /index/_search
{
  "query": { "match_all": {} },
  "sort": [
    { "排序字段": "asc" }
  ]
}
asc 正序
desc 倒序

(4)分页查询

GET /index/_search
{
  "query": { "match_all": {} },
  "from": 0,
  "size": 10
}
from  页数  size 分页大小

(5) 指定查询字段

GET /index/_search
{
  "query": { "match": { "字段": "查询条件" } }
}

(6)模糊查询

GET /index/_search
{
  "query": { "match_phrase": { "字段": "查询条件" } }
}

(7)多条件查询bool的使用

GET /index/_search
{
  "query": {
    "bool": {
      "must": [
        { "match": { "字段1": "条件1" } }
      ],
      "must_not": [
        { "match": { "字段2": "条件2" } }
      ]
    }
  }
}
必须包含字段1里的条件,但排除字段2的条件
同时还有should  filter(高度匹配)

(8)范围查询

GET index/_search
{
  "query": {
    "range": {
      "查询字段": {
          "gte": 数值1,
          "lte": 数值2
      }
    }
  }
}
范围查询接收以下参数:
gte:大于等于
gt:大于
lte:小于等于
lt:小于

(9)聚合查询 Aggregation

GET /index/_search
{
  "size":返回大小,
  "aggs": {
    "group_by_state": {
      "terms": {
        "field": "聚合字段.keyword"
      }
    }
  }
}

(10)聚合+平均

GET /index/_search
{
  "size": 0,
  "aggs": {
    "group_by_state": {
      "terms": {
        "field": "state.keyword"
      },
      "aggs": {
        "average_平均字段": {
          "avg": {
            "field": "平均字段"
          }
        }
      }
    }
  }
}

(11)聚合+平均+排序

GET /bank/_search
{
  "size": 0,
  "aggs": {
    "group_by_state": {
      "terms": {
        "field": "state.keyword",
        "order": {
          "average_balance": "desc"
        }
      },
      "aggs": {
        "average_balance": {
          "avg": {
            "field": "balance"
          }
        }
      }
    }
  }
}

真理求知者
4 声望0 粉丝

在黑暗在探索光明,在迷茫中寻找真理!