Elasticsearch 第二篇:基本概念和基础操作

      上一篇文章,我们已经是在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:9200/db_news/new/1
{
    "title": "今日头条新闻1",
    "author": "新华时报记者1",
    "content": "今日券商股继续涨停1"
}

2、修改

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

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

3、删除

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

DELETE http://localhost:9200/db_news/new/1

4、查询

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

GET http://localhost:9200/db_news/new/1

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

原文地址:https://www.cnblogs.com/vincentfhr/p/13298845.html