前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Elasticsearch】3. 基本操作

【Elasticsearch】3. 基本操作

原创
作者头像
历久尝新
修改2020-12-15 15:32:46
4640
修改2020-12-15 15:32:46
举报
文章被收录于专栏:学而时习之学而时习之

文档的CURD

  • index
    • PUT my_index/_doc/1 {"user":"xxx", ....} -- 如果id不存在,会创建新的文档,否则会删除现有文档,再创建新的文档,版本会增加
  • create
    • PUT my_index/_create/1 {"user":"xxx", ....} -- 如果id已经存在,会失败
    • POST my_index/_doc {"user":"xxx", ....} -- 不指定id,自动生成
  • read
    • GET my_index/_doc/1
  • update
    • POST my_index/update/1 {"doc":{"user": "xxx", ...}} -- 文档必须已经存在,更新只会对相应字段做增量修改
  • delete
    • DELETE my_index/_doc/1

Create 一个文档

POST {index}/_doc PUT {index}/_create/{id}

  • 支持自动生成文档ID和指定文档id
  • 通过调用POST my_index/_doc
    • 系统会自动生成id
  • 通过调用PUT my_index/_create/1
    • URI中显示指定_create,如果id重复则操作失败

Get 一个文档

GET {index}/{index_id}

  • 找到文档,返回http 200
    • 文档元信息
      • _index / _type /
      • 版本信息,同一个id的文档,即使被删除Version也会增加
      • _source 中默认包含了文档的所有原始信息
  • 找不到文档,返回http 404

Index 文档

PUT {index}/_doc/{id}

  • index和create不一样的地方,如果文档不存在就索引新的文档,否则现有的文档就会被删除,新的文档被索引,版本信息+1

Update 文档

  • Updata 方法不会删除原来的文档,而是实现真正的数据更新
  • Post 方法 /Payload 需要包含在"doc"中

Bulk API

  • 支持在一次API调用中,对不同的索引进行操作
  • 支持4种类型操作
    • index
    • create
    • update
    • delete
  • 可以再URI中指定index,也可以在请求的pylload中进行
  • 操作中单条操作失败,并不会影响其他操作
  • 返回结果包括了每一条操作执行的结果

mget 批量读取

  • 批量操作,可以减少网络连接产生的开销,提高性能

msearch 批量读取

常见错误返回

  • 无法连接 :网络故障,或者集群挂了
  • 连接无法关闭: 网络故障或节点出错
  • 429:集群过于繁忙
  • 4xx:请求体格式错误
  • 500:集群内部错误

Analysis分词器

  • analysis - 文本分析是把文本转换一系列单词的过程,也叫分词
  • analysis 是通过 analyzer实现的
  • 除了在数据写入时转换词条,匹配query预计的时候也需要用相同的分词器对查询语句进行分词
  • anlyzer的组成
    • character filters:针对原始文本处理,例如去除html
    • tokenizer:按照规则切分单词
    • token filters:将切分的单词进行加工,小写,删除stopwords 增加同义词
  • 使用_analyzer api
    • 直接指定anlyer进行测试
    • 指定索引的字段进行测试
    • 自定义分词器进行测试

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档