Elastic search(ES)

一、底层技术

  • 文档元数据
    • _index
      • 文档在哪存放
    • _type(7版本之后就没有类型这个概念了)
      • 文档表示的对象类别
    • _id
      • 文档唯一标识
  • 文档格式
    • /{index}/{type}/{id} 确定一个文档
  • 分词
    • 分词器 IK
      • 自增扩展字典
      • 剔除部分词字典
  • 倒排索引
    • 分析器 analyzer
      • 过滤器 character filters
      • 分词 tokenizer
      • 小写 tiken filter
    • 内置的分词器

二、特性

  • 1、分布式
  • 2、全文搜索
  • 3、搜索引擎

三、安装

  • 1、安装ES
    • docker 方式启动
  • 2、客户端kibana
    • docker 方式启动

四、语法

  • 1、添加数据
    • PUT
      • 需要ID
    • POST
      • 有没有ID都可以
  • 2、删除 delete
  • 3、更改 update
  • 4、查询 query
    • source 返回部分数据
    • search 条件查询
      • URL: GET _search?q=bobby
      • BODY:
    • match 查询
    • term 精确查询
      • 不会进行分词,不区分大小写。(原子操作)
    • 模糊查询 fuzzy
      • 计算字符串的距离
    • 范围查询 range
    • 符合查询 bool
      • must: 必须满足
      • must_not: 必须不满足
      • should: 非必需满足,会影响评分
      • filter: 必需匹配,不影响评分
  • 5、批量操作(bulk)
  • 6、批量获取 mget
  • 7、数据类型 mappings
    • 类型
      介绍
      备注
      text
      会被分词
      keyword
      不会被分词
      long
       

五、常用

GET _cat/indices
查看所有表
PUT
修改数据

六、GO 驱动