上一篇文章,我们已经是在Windows10 上搭建了 Elasticsearch 环境已经安装了相关的插件,现在我们就可以像操作webapi一样简单的操作 ElasticSearch 了,有园友说可以用谷歌插件 Sense 来操作,不管了,这里就用最常见的软件 Postman 来进行测试和学习。在进行接口测试之前,先了解一下基本概念。

Elasticsearch 基本概念

 1、Near RealTime 准实时

      Elasticsearch 是一个准实时的搜索平台。准实时是指:ES写入数据、搜索数据的时候会有一些时间上的延迟,但一般是在1s以内,接近实时。

2、Cluster 集群

      节点(服务器)的集合就形成集群,集群包含一个或者多个节点,这些节点分工合作,一起保存整个数据,并提供联合索引和搜索的功能。每个ES实例都默认有一个 clustername 属性(这个属性默认值是 “Elasticsearch” ),如果多个ES实例的 clustername 都一样,例如都是“MySearch”,则这多个实例都启动运行起来,就形成一个集群。反之,如果各个实例的 clustername 不同,那么这些实例各自独立,不构成集群,也没有分工合作的产生。

3、Node 节点

节点是组成集群的一个单独服务器,用于存储数据并提供集群的搜索和索引功能。节点同样有唯一一个名字,可以手动指定节点的名字,然后按照配置加入指定的集群。

4、Index  索引库

索引是具有相似特性的文档集合,ES中索引是存放数据的地方,和关系型数据库的索引有区别,类似关系型数据库“库”的概念。

5、Type 类型

      每个Index下面,有一个或者多个Type(ES最新版规定Index下面只有一个Type),区分数据类型,相当于关系型数据库“表”的概念,但是高版本的ES,这个Type的概念可能已经是弃用。

6、Document 文档

ES中最小的数据单元就是文档,相当于关系型数据库中某一个表的某一条记录,会被ES压缩成json格式。

7、Field 字段

相当于关系型数据库“列”的概念。

8、Shard 分片

分片的概念,可以参考  https://www.jianshu.com/p/b261373088be ,主要是ES可以将大数据量的索引库(Index)的数据进行水平切割存放。

Elasticsearch 基础操作

Elasticsearch 相关操作的 URL 格式:http://localhost:9200/<index>/<type>/[<id>]

其中:index 表示索引库,type表示类型,id表示操作的文档对象,这三个参数如果不存在,则会添加;

注意:type在ES的目前版本,一个index只有一个type。

1、添加

首先是添加,这样我们就添加了一条新闻(可以用 postman 来执行以下请求):

PUT http://localhost:/db_news/new/
{
"title": "今日头条新闻1",
"author": "新华时报记者1",
"content": "今日券商股继续涨停1"
}

2、修改

修改就是覆盖,例如我们修改以上id=1的文档:

PUT http://localhost:/db_news/new/
{
"title": "今日头条新闻2",
"author": "新华时报记者2",
"content": "今日券商股继续涨停2"
}

3、删除

      删除很简单,传入id即可:

DELETE http://localhost:/db_news/new/

4、查询

      查询指定库db_news,指定表 new 的某条文档( id=1):

GET http://localhost:/db_news/new/

查询是一个比较复杂的用法,下一篇再总结一下。

Elasticsearch第二篇:基本概念和基础操作的更多相关文章

  1. 原创】Java并发编程系列2:线程概念与基础操作

    [原创]Java并发编程系列2:线程概念与基础操作 伟大的理想只有经过忘我的斗争和牺牲才能胜利实现. 本篇为[Dali王的技术博客]Java并发编程系列第二篇,讲讲有关线程的那些事儿.主要内容是如下这 ...

  2. 第二篇.1、python基础之数据类型与变量

    一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...

  3. 从零开始使用git第二篇:git的日常操作

    从零开始使用git 第二篇:git的日常操作 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:git撤销操作.分支操 ...

  4. SAP-ABAP系列 第二篇SAP ABAP开发基础

    第二章SAP ABAP开发基础 1.ABAP数据类型及定义 ABAP程序中共包含8种基本数据类型定义, 类型名称 描述 属性 C Character Text (字符类型) 默认长度=1,默认值 = ...

  5. 第二篇.2、python基础之字符编码

    一 了解字符编码的知识储备 一 计算机基础知识 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的 ...

  6. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  7. Python之路【第二篇】:Python基础

    参考链接:老师 BLOG : http://www.cnblogs.com/wupeiqi/articles/4906230.html 入门拾遗 一.作用域 只要变量在内存中就能被调用!但是(函数的栈 ...

  8. Python自动化 【第二篇】:Python基础-列表、元组、字典

    本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库, ...

  9. maven第二天——重要概念与其它操作

    一.在eclipse中建立工程 在day01中我们搭建了eclipse的maven环境,接下来我们开始建立maven项目 1.在eclipse中建立JAVA工程 file->new->ma ...

随机推荐

  1. 基于three.js的全景

    直接上代码: <!DOCTYPE html><html> <head> <title>three.js css3d - panorama</tit ...

  2. Shader-内轮廓自发光效果

    需求 1 基于涅菲尔反射的变形 原理 (近处的反射少,远处反射多) 1)公式(近似):F = Fscale + (1-Fscale)(1-v·n)^5 利用fresnel做边缘发光,代码 fixed ...

  3. 肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!

    IDEA2020版本正式发布已经有3个月了,当时由于各方面原因(太懒)也没有去尝试新功能.于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下.总的来说呢,体验上明显的提升. 作为一个 ...

  4. 不知道Linux内核到底长啥样?这幅漫画让你秒懂!

    下面给大家分享一个[超全2020Linux学习教程],点击链接免费领取哦~ https://www.magedu.com/?p=84301&preview=true

  5. CSS和JS实现文本溢出显示省略号

    本文记录实现文本溢出显示省略号的几种方式. 单行文本 三行CSS代码实现: overflow: hidden; // 文本溢出隐藏 text-overflow: ellipsis; // 显示省略号 ...

  6. 组件缓存注意事项 ---keep-alive

  7. 面试题四十:数组中最小的k个数

    方法一:先排序后寻找前k个数: 方法二:受面试题三十九,寻找超过一半的数的启发,只把里面的middle改成k-1就行: void HalfNum( int [ ] Array ,int k){ int ...

  8. python处理文本数据

    处理文本数据,主要是通过Seris的str访问.遇到NaN时不做任何处理,保留结果为NaN,遇到数字全部处理为NaN. str是Seris的方法,DataFrame不能直接使用,但是通过索引选择Dat ...

  9. PHP代码实现二分法查找

    需求:定义一个函数接收一个数组对象和一个要查找的目标元素,函数要返回该目标元素在数组中的索引值,如果目标元素不存在数组中,那么返回-1表示. //折半查找法(二分法): 使用前提必需是有序的数组. / ...

  10. MyBatis Plus 导入IdType失败

    import com.baomidou.mybatisplus.annotation.IdType; 修正Entity模板IdType引入包名到com.baomidou.mybatisplus.enu ...