ES基础操作命令

1.创建索引(可以理解创建mysql数据库)

1.代码

put /test/type/1
{
    "name":"北辰君"
    "age":"20"
}

2.语法

put /索引/类型/Id
{
    请求体
}
//新版本type可以省略

3.效果图

在这里插入图片描述

2.创建索引规则(可以理解创建mysql表字段)

1.代码

put /test1
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "long"
      }
    }
  }
}

2.效果图

在这里插入图片描述

3.官方文档地址

https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html

3.修改文档信息(可以理解更新mysql数据)

1.代码

POST /test/type/1/_update
{
  "doc": {
    "name": "幽幽晚风君且临"
  }
}

2.效果图

在这里插入图片描述

4.删除

1.代码

DELETE /test/type/1

2.效果图

在这里插入图片描述

5.查询(类似get请求的方式)

1.代码

GET test/type/_search?q=name:幽幽晚风君且临

2.效果图

在这里插入图片描述

6.复杂查询

1.基本简单查询

1.代码
GET test/type/_search
{
  "query": {
    "match": {
      "name": "幽幽晚风君且临"
    }
  }
}
2.代码

在这里插入图片描述

2.查询时指定返回字段

1.代码
GET test/type/_search
{
  "query": {
    "match": {
      "name": "幽幽晚风君且临"
    }
  },
  "_source": ["name","age"]
}
2.效果图

在这里插入图片描述

3.排序

1.代码
GET test1/_search
{
  "query": {
    "match": {
      "name": "幽幽晚风君且临"
    }
  },
 "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ]
2.效果图

在这里插入图片描述

4.分页

1.代码
GET test1/_search
{
  "query": {
    "match": {
      "name": "幽幽晚风君且临"
    }
  },
 "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ],
  "from": 0, 
  "size": 1
}
// from 起始页
// size 每页多少数据
2.效果图

在这里插入图片描述

5.多条件查询

1.代码
GET test1/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "晚风"
          }
        },
        {
          "match": {
            "age": 20
          }
        }
      ]
    }
  }
}

//must 相当于mysql  and
//should 相当于mysql or
//must_not 相当于mysql !=

6.过滤器filter取范围值

1.代码
GET test1/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "幽幽晚风君且临"
          }
        }
      ],
      "filter": {
        "range": {
          "age": {
            "gte": 20,
            "lt": 30
          }
        }
      }
    }
  }
}

//gte大于等于
//lt小于 e =
2.效果图

在这里插入图片描述

7.term精确查询

1.代码
GET test1/_search
{
  "query": {
    "term": {
      "desc": "桃"
    }
  }
}
2.效果图

在这里插入图片描述

3.注解
  • term会直接查询精确的
  • metch会使分词器解析!(先分析文档,在通过分析的文档进行查询)
  • text 会被分词器解析 keyword不会被分词器解析,它就是一个分词

8.精确查询多个值

1.代码
GET test1/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "term": {
              "name": "晚风"
          }
        },
        {
          "term": {
              "desc": "桃"
          }
        }
      ]
    }
  }
}

7.字段高亮

1.代码

GET test1/_search
{
  "query": {
   "match": {
     "name": "晚风"
   }
  },
  "highlight": {
    "fields": {
      "name": {}
    }
  }
}

2.效果图

在这里插入图片描述

8.自定义高亮样式

1.代码

GET test1/_search
{
  "query": {
   "match": {
     "name": "晚风"
   }
  },
  "highlight": {
    "pre_tags": "<p class='name' style='color:red'>", 
    "post_tags": "</p>", 
    "fields": {
      "name": {}
    }
  }
}

2.效果图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值