ES学习笔记 第一章 http请求

ES学习笔记 第一章 http请求

视频学习链接:https://www.bilibili.com/video/BV1hh411D7sb

基础知识

Elastic search:

  • 开源的高扩展的分布式全文搜索引擎,整个ES技术栈的核心。
  • 近乎实时的存储、检索数据
  • 扩展性好,可扩展上百台服务器,处理PB级别的数据
  • 基于Lucene开发(Lucene提供了全文检索的能力,但是没有办法直接使用)

入门(mac版本)

官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch

  1. 启动:

    通过终端进入到目录 elasticsearch-7.13.2/bin 下,执行 命令 sh elasticsearch 或者 ./elasticsearch,即可启动成功
    ES学习笔记 第一章 http请求

    部分启动日志
    ES学习笔记 第一章 http请求

​ 浏览器访问出现图中结果即表示启动成功(注意不要重复启动):
ES学习笔记 第一章 http请求

  1. 停止

    可以通过杀掉进程号的方式,停止es

    ps -ef |grep elastic

    kill -9 93467

  2. http方式使用ES

    语法官方使用文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html?baymax=rec&rogue=pop-1&elektra=docs

    使用postman创建

    索引就等同于数据库,文档相当于表

    动作 请求方式 地址 参数 幂等性 备注
    创建索引 PUT http://127.0.0.1:9200/shopping Y
    查看索引 GET http://127.0.0.1:9200/shopping Y
    删除索引 DELETE http://127.0.0.1:9200/shopping Y
    查看所有索引 GET http://127.0.0.1:9200/_cat/indices?v Y
    创建索引下的文档 POST http://127.0.0.1:9200/shopping/_doc {“name”:“小米手机”,“category”:“小米”,“price”:1000.00} N 相同文档可存储多次,每次响应的id不同
    创建索引下的文档(自定义id) POST http://127.0.0.1:9200/shopping/_doc/1001 {“name”:“小米手机”,“category”:“小米”,“price”:1000.00} N PUT也可以(多次请求id不变,但是version会变,类似于修改了内容)
    获取shoping下的所有数据 GET http://127.0.0.1:9200/shopping/_search Y
    完全修改数据 PUT http://127.0.0.1:9200/shopping/_doc/1001 {“name”:“小米手机”,“category”:“小米”,“price”:4000.00} N
    修改部分数据 POST http://127.0.0.1:9200/shopping/_update/1001 {“doc”:{“name”:“华为手机”}} Y 请求多次version并没有增加
    条件查询 GET http://127.0.0.1:9200/shopping/_search?q=category:小米 路径拼参数
    条件查询 GET http://127.0.0.1:9200/shopping/_search {“query”:{“match”:{“category”:“小米”}}} 请求体拼参数
    分页查询 GET http://127.0.0.1:9200/shopping/_search {“query”:{“match_all”:{}},“from”:0,“size”:2} from:页码,计算公式:(页码-1)*每页数据条数;size:每页数据条数
    查询:指定显示内容 GET http://127.0.0.1:9200/shopping/_search {“query”:{“match_all”:{}},“from”:0,“size”:2,"_source":[“name”,“price”]}
    排序查询 GET http://127.0.0.1:9200/shopping/_search {“query”:{“match_all”:{}},"_source":[“name”,“price”],“sort”:{“price”:{“order”:“asc”}}} 排序的价格必须是 数字
    连接查询 and GET http://127.0.0.1:9200/shopping/_search {“query”:{“bool”:{“must”:[{“match”:{ “category”:“小米”}},{“match”:{“price”:1000.00}}]}}} must
    连接查询 or GET http://127.0.0.1:9200/shopping/_search {“query”:{“bool”:{“should”:[{“match”:{ “category”:“小米”}},{“match”:{“price”:1000.00}}]}}} should
    范围查询 GET http://127.0.0.1:9200/shopping/_search {“query”:{“bool”:{“should”:[{“match”:{ “category”:“小米”}},{“match”:{“price”:1000.00}}],“filter”:{“range”:{“price”:{“gt”:4000.00}}}}}} filter
    全文关键词检索 GET http://127.0.0.1:9200/shopping/_search {“query”:{“match_phrase”:{“category”:“小米”}}} 关键词查询,不对查询条件做分词处理
    检索结果高亮显示 GET http://127.0.0.1:9200/shopping/_search {“query”:{“match_phrase”:{“category”:“小米”}},“highlight”:{“fields”:{“category”:{}}}} 返回结果增加了html样式
    聚合查询:分组 {“aggs”:{“price_group”:{“terms”:{“field”:“price”}}}} aggs 表示聚合查询;price_group 分组名称 自定义;terms 分组。结果会根据字段分组
    聚合查询:平均值 {“aggs”:{“price_avg”:{“avg”:{“field”:“price”}}}} avg 求字段平均值
    http 创建索引映射 {“properties”:{“name”:{“type”:“text”,“index”:true},“sex”:{“type”:“keyword”,“index”:true},“tel”:{“type”:“keyword”,“index”:false}}} properties 索引配置;name 文档字段;type:“text” 字段类型;index 是否给此字段创建索引;keyword 关键字,即不对此属性做分词处理
上一篇:5.(后端技术篇java)ElasticSearch实现矩形空间查询服务


下一篇:Elasticsearch节点下线(退役)and unassigned shards