上一篇文章,我们已经是在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. kubernetes系列(十六) - Helm安装和入门

    1. helm简介 1.1 为什么需要helm 1.2 helm中几个概念 1.3 helm用途 2. helm安装 3. helm的基本使用 3.1 安装chart仓库里面的chart 3.2 创建 ...

  2. OSCP Learning Notes - Capstone(1)

    Kioptrix Level 1.1 Walkthrough Preparation: Download the virtual machine  from the following website ...

  3. Web Scraping using Python Scrapy_BS4 - using Scrapy and Python(1)

    Create a new Scrapy project first. scrapy startproject projectName . Open this project in Visual Stu ...

  4. ASP.Net Core 3.1 With Autofac ConfigureServices returning an System.IServiceProvider isn't supported.

    ASP.Net Core 3.1 With Autofac ConfigureServices returning an System.IServiceProvider isn't supported ...

  5. WYT的刷子

    WYT的刷子 题目描述 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米:每列的高度单位也为米,由输入数据给出). 使用刷子的规则是: 与地面垂 ...

  6. K8s-Pod健康检查原理与实践

    Pod健康检查介绍 默认情况下,kubelet根据容器运行状态作为健康依据,不能监视容器中应用程序状态,例如程序假死.这将会导致无法提供服务,丢失流量.因此重新健康检查机制确保容器健康幸存.Pod通过 ...

  7. GitHub和码云gitee及远程仓库管理

    目录 备注: 知识点 GitHub 码云(gitee.com) gitee的使用 本地版本库关联多个远程库 备注: 本文参考于廖雪峰老师的博客Git教程.依照其博客进行学习和记录,感谢其无私分享,也欢 ...

  8. java 手机号码归属地查询

    下面是利用第三方接口实现手机号码归属地查询 (复制请标明出处或留言) package com.test.yyc; import java.io.BufferedReader; import java. ...

  9. Cordova iPhone 刘海屏 和 安卓瀑布屏 等异形屏幕的适配处理

    1.  在cordova项目的config.xml中指定StatusBarOverlaysWebView(需要cordova-plugin-statusbar插件支持),表示应用界面是否覆盖状态栏(系 ...

  10. Module not found: Error: Can't resolve './style':配置 extensions 的坑

    ERROR in ./src/index.js Module not found: Error: Can't resolve './style' in 'D:\gitcode\github\learn ...