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": ["春眠不觉晓"]
}
相关推荐
Elastic 中国社区官方博客18 分钟前
跳过 MLOps:通过 Cloud Connect 使用 EIS 为自管理 Elasticsearch 提供托管云推理
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 Base64 编码字符串加速向量摄取
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客4 小时前
介绍 Elastic Workflows:用于 Elasticsearch 的原生自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
Cx330❀7 小时前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
岱宗夫up7 小时前
.env 文件是干啥的?为什么不能提交到 Git?
大数据·git·elasticsearch·搜索引擎·gitee·github·gitcode
星辰_mya1 天前
Elasticsearch——待补充
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 天前
Elasticsearch:使用 Elastic Workflows 构建自动化
大数据·数据库·人工智能·elasticsearch·搜索引擎·自动化·全文检索
Elastic 中国社区官方博客1 天前
Elastic 9.3:与数据对话、构建自定义 AI agents、实现全自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
会员源码网1 天前
交易所 K 线模块无法启动?核心源码排查位置与实战解决方案
网络·elasticsearch
Elastic 中国社区官方博客1 天前
Jina Rerankers 为 Elastic 推理服务(EIS)带来了快速、多语言的重排序能力
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina