栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

ElasticSearch基本概念和简单CRUD

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ElasticSearch基本概念和简单CRUD

ElasticSearch基础 Lucene简介

Lucene是一种高性能、可伸缩的信息搜索(IR)库,在2000年开源,最初由鼎鼎大名的Doug Cutting开发,是基于Java实现的高性能的开源项目。Lucene采用了基于倒排表的设计原理,可以非常高效地实现文本查找,在底层采用了分段的存储模式,使它在读写时几乎完全避免了锁的出现,大大提升了读写性能。

Elasticsearch基于lucene,隐藏其复杂性,并提供简单易用的restful API接口、java API接口。所以理解ES的关键在于理解lucene的基本原理。

ElasticSearch中的名称
  • Cluster【集群】: 一群物理机构成的 elastic 服务群, 每台机器是一节点

  • physical-shards【物理分片】: 每个分片实际上是一个独立的索引,底层是一个 Lurence的实例。类比mysql,相当于水平分表

  • Index【索引】 : 相当于一个命名空间,在关系型数据数据库中,相当于 一个 database

  • Type 【类型】 : 完全相同字段名的json 构成一个type 。类比mysql, 相当于不同的数据表 , 但是不同的 type 应该有相似的结构。 性质完全不同的数据(比如products和users)应该存成两个 Index,而不是一个 Index 里面的两个 Type(虽然可以做到)。

// 两个不同的类型

//type: user
{
  "id": 1,
  "name":"xxx"
}

// type  product
{
  "price":1.00,
  "name": "书"
}
  • Replicas【副本】: 所有文档的复制。 类比:mysql 相当于从库

  • Document【文档】:一个JSON 对象。类比myssql, 表中一条数据

  • indices :应该是 index的负数形式,表示多个索引

ElasticSearch中集群健康信息 ElasticSearch中CRUD
  1. 新增文档
    先创建一个测试所用的索引
PUT /huangliang_test_index

在该索引下新增一个是文档。

POST /huangliang_test_index/_doc
{
  "name": "huangliang",
  "sex": "男",
  "age": 26
}
  1. 查询文档 (简单查询)
    根据ElasticSearch中文档的id值进行简单的查询,相当于关系型数据库中的select * from table where id= xxx,其中id列是主键。
GET /huangliang_test_index/_doc/XZ_yrIABtyKywegQcIFd
  1. 更新文档

更新文档的方式可以使用POST和PUT两种,这两种方式产生的结果也是不相同的。

  • a.PUT方式
PUT /huangliang_test_index/_doc/XZ_yrIABtyKywegQcIFd
{
  "name": "huangliang11"
}

查询更新后的结果为:

  • b.POST方式
POST /huangliang_test_index/_doc/XZ_yrIABtyKywegQcIFd
{
 "name": "huangliang111",
 "sex": "男",
 "age": 26
}

查询更新后的结果为:

结论:使用PUT方式更新文档会对整个文档进行一个覆盖,使用POST方式更新文档则只会针对文档中的字段进行更新。
4. 删除文档
使用delete API删除文档

DELETE /huangliang_test_index/_doc/XZ_yrIABtyKywegQcIFd

5.删除索引
同样使用delete API删除索引

DELETE /huangliang_test_index
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/897017.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号