二、ElasticSearch基本的概念和RestfulAPI

本文介绍了Elasticsearch的基本概念,如分布式搜索服务、文档数据库和RESTful API。对比了它与关系型数据库的区别,强调了索引、文档、字段和映射的重要性。并展示了如何使用API进行索引的增删查改,以及文档的操作。同时提到了可视化界面查询作为辅助工具。
摘要由CSDN通过智能技术生成

一、简介

  1. ES是基于RESTful web接口(构建在Lucene上)的分布式搜索服务
  2. 分布式文档数据库(JSON 格式存储数据),其中每个字段均可被索引,每个字段的数据均可被搜索
  3. 可以扩展到上百台服务器,处理PB级结构化或非结构化数据

短时间内搜索和分析大量的数据,一般用于搜索情况复杂的时候
(例如我工作中使用es用于房屋信息的搜索,涉及到大量的查询条件和排序、分词等)

二、关系型数据库对比

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices   -> Types  -> Documents -> Fields

关系数据库      -> 数据库 ->-> 记录(一行) -> 字段(一列)
Elasticsearch ->   索引 -> 类型 ->    文档     -> 字段

图片引自https://www.cnblogs.com/wangzhuxing/p/9404587.html
                              图片引自https://www.cnblogs.com/wangzhuxing/p/9404587.html

三、主要概念

  1. 索引(index)
    ElasticSearch的一个逻辑存储,可以理解为关系型数据库中的数据库,对ES操作时需要指明具体的索引名,通过索引名完成该索引下文档的CURD。
    索引的名字必须全是小写字符
  2. 类型(type)_已移除
    每个索引中都存在大量的Document,利用Type定义这批文档为同一种类型,可以理解为关系型数据库中的表。每个Type可以有不同的结构(表与表之间的结构可以是不同的),但是不同的Type不能为相同的属性设置不同的类型(同一个属性在不同表中一定要是相同的类型)。
    在ES6.0.0及更高的版本中,创建的索引只能包含一个映射类型。在6.0.0以下的版本中创建的一个索引映射多个类型的索引在6.0.0版本中继续发挥作用,但是将在7.0.0中完全删除。
  3. 文档(document)
    存储在es中的主要实体。类似数据库表中的某一行数据记录,由多个字段(field)构成,并且有一个唯一的标识符。
    CURD就是根据标识符(文档ID)来进行的。
  4. 字段(field)
    类似于数据库表中的字段
  5. 映射(mapping)
    就是对索引的字段名及其数据类型进行定义
  • ES默认是动态创建索引和索引类型的mapping的,自动创建不灵活,例如自动创建的分词

四、API简单使用

以下的使用都是在地址栏中输入参数,非常局限,了解即可,重点掌握DSL

1. 添加/删除索引

1) 索引的添加

语法:

PUT /{索引名称} 

参数:

{
	"settings": {
		"number_of_shards": {分片数},
		"number_of_replicas": {副本数}
	}
}

PostMan测试:
在这里插入图片描述
结果:

在这里插入图片描述

2) 索引的删除

语法:

DELETE /{索引名称} 

参数: 无
PostMan测试:
在这里插入图片描述
结果:

在这里插入图片描述

2. 添加/删除/查询/修改文档

1)创建文档

语法:

POST /{索引}/{索引类型}/{文档id}

参数:JSON字符串

{
	"属性1": "值1",
	"属性2": "值2",
  ........
}

PostMan测试:
在这里插入图片描述
结果:

在这里插入图片描述

2)修改文档(替换)

语法:

PUT /{索引}/{索引类型}/{文档id}

参数:JSON字符串

{
	"属性1": "值1",
	"属性2": "值2",
  ........
}

在ES中,原则上是不允许更新数据的,我们只能采取覆盖的方法实现
必须带上所有的field,否则其他数据会丢失

PostMan测试:

在这里插入图片描述
结果:

在这里插入图片描述

3)修改文档(局部更新)

语法:

POST /{索引}/{索引类型}/{文档id}/_update

参数:JSON字符串

{
    "doc":{
		"修改的属性1": "值1",
		"修改的属性2": "值2",
	  	........
    }
}

PostMan测试:
在这里插入图片描述

结果:

在这里插入图片描述

4)查询文档

语法:

GET /{索引}/{索引类型}/{文档id}

参数:无
在这里插入图片描述

5)删除文档

语法:

DELETE /{索引}/{索引类型}/{文档id}

参数:无
在这里插入图片描述

3. 查询所有文档

语法:

GET /{索引}/{索引类型}/_search

在这里插入图片描述

五、可视化界面查询

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值