Elasticsearch

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎


kibana 创建索引

js 复制代码
// PUT /索引名/类型名/文档id
// {请求体}
PUT /test1/type1/1
{
  "name":"zhangsan",
  "age":1
}

设置索引规则(指定字段的类型)

js 复制代码
PUT /test2
{
  "mappings":{
    "properties": {
      "name":{
        // text类型会进行分词解析
        "type": "text"
      },
      "age":{
        "type": "long"
      },
      "birthday":{
        "type": "date"
      },
      "desc":{
        // keyword类型不会进行分词解析,会整体匹配
        "type": "keyword"
      }
    }
  }
}

修改文档

js 复制代码
方法一:直接使用PUT方式覆盖(未涉及的字段会被清空值)
方法二:使用POST方式在末尾加上"/_update"(不加的话,未涉及的字段也会被清空值)
POST /test1/type1/1/_update
{
 "doc": {
    "name":"zhangsan",
    "age":1
  }
}
修改后,version 属性会加 1

删除索引、文档

js 复制代码
DELETE 索引名
DELETE 索引名/类型名/文档id

查询索引、文档信息

js 复制代码
GET 索引名
GET 索引名/类型名/文档id
// 条件查询
GET 索引名/类型名/_search?q=name:zhangsan
查询结果的匹配度越高,那么"_score"属性值就越大

查询

javascript 复制代码
GET 索引名/类型名/_search
{
  "query": {
    "match": {
      // 多个条件使用空格隔开
      "字段名": "zhangsan lisi"
    }
  },
  // 查询哪些字段,默认查询所有
  "_source": ["name","age"],
  // 排序
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ],
  //过滤器
  "filter": [
    {
      // 范围
      "range": {
        "age": {
          // gt:大于
          // lt:小于
          // gte:大于 等于
          // lte:小于 等于
          "gte": 1,
          "lte": 3
        }
      }
    }
  ],
  // 分页查询
  "from": 0,
  "size": 2,
  // 高亮查询
  "highlight": {
    // 自定义高亮前缀
    "pre_tags": "<div>",
    // 自定义高亮后缀
    "post_tags": "</div>",
    "fields": {
      "name": {}
    }
  }
}

多条件查询

js 复制代码
"query": {
  "bool": {
    // must:所有条件必须匹配,相当于 and
    // must_not:所有条件必须不匹配,相当于 not
    // should:匹配其中之一即可,相当于 or
    "must": [
      {
        "match": {
          "name": "zahngsan"
        }
      },
      {
        "match": {
          "age": "2"
        }
      }
    ]
  }
}

分词器

js 复制代码
GET _analyze
{
  // keyword 不进行分词解析
  // standard 进行分词解析
  "analyzer": "keyword",
  "text": ["春眠不觉晓"]
}
相关推荐
颜如玉2 小时前
ElasticSearch关键参数备忘
后端·elasticsearch·搜索引擎
健康平安的活着3 小时前
es7.x es的高亮与solr高亮查询的对比&对比说明
大数据·elasticsearch·solr
Elasticsearch7 小时前
使用 FastAPI 的 WebSockets 和 Elasticsearch 来构建实时应用
elasticsearch
百思可瑞教育1 天前
Git 对象存储:理解底层原理,实现高效排错与存储优化
大数据·git·elasticsearch·搜索引擎
陆小叁1 天前
基于Flink CDC实现联系人与标签数据实时同步至ES的实践
java·elasticsearch·flink
2501_930104042 天前
GitCode 疑难问题诊疗:全方位指南
大数据·elasticsearch·gitcode
健康平安的活着2 天前
es7.17.x es服务yellow状态的排查&查看节点,分片状态数量
大数据·elasticsearch·搜索引擎
Elasticsearch2 天前
Elastic 的托管 OTLP 端点:为 SRE 提供更简单、可扩展的 OpenTelemetry
elasticsearch
Yusei_05233 天前
迅速掌握Git通用指令
大数据·git·elasticsearch
水无痕simon3 天前
5 索引的操作
数据库·elasticsearch