Elasticsearch 笔记(1)

6 篇文章 0 订阅
3 篇文章 0 订阅

Elasticsearch简介

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

一. 关键词概念

倒排索引(Inverted Index)

该索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。Elasticsearch能够实现快速、高效的搜索功能,正是基于 倒排索引原理

节点 & 集群(Node & Cluster)

Elasticsearch 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个Elasticsearch实例。单个Elasticsearch实例称为一个节点(Node),一组节点构成一个集群(Cluster)

索引(Index)

Elasticsearch 数据管理的顶层单位就叫做 Index(索引),相当于关系型数据库里的数据库的概念。另外,每个Index的名字必须是小写

类型(Type)

类似关系型数据库中的数据表,不同的 Type 应该有相似的结构(Schema),性质完全不同的数据(比如 products 和 logs)应该存成两个 Index,而不是一个 Index 里面的两个 Type(虽然可以做到)

文档(Document)

Index里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。Document 使用 JSON 格式表示。同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同,这样有利于提高搜索效率。

文档元数据(Document metadata)

文档元数据为_index, _type, _id, 这三者可以唯一表示一个文档,_index表示文档在哪存放,_type表示文档的对象类别,_id为文档的唯一标识。

每个Document都类似一个JSON结构,它包含了许多字段,每个字段都有其对应的值,多个字段组成了一个 Document,可以类比关系型数据库数据表中的字段。

在 Elasticsearch 中,文档(Document)归属于一种类型(Type),而这些类型存在于索引(Index)中,下图展示了Elasticsearch与传统关系型数据库的类比:

字段(Fields)
在这里插入图片描述

二. 入门

elasticsearch是基于RESTful风格的接口

HTTP方法说明
GET获取请求对象的当前状态
POST改变对象的当前状态
PUT创建一个对象
DELETE销毁对象
HEAD请求获取对象的基础信息
1. GET 常用API

查看所有节点 _cat/nodes
在这里插入图片描述

查看节点的健康状态 _cat/health
在这里插入图片描述
查看所有索引 _cat/indices
在这里插入图片描述

2. PUT 常用API
2.1 PUT添加

创建一条记录
用MySQL的方式来表达的话可以翻译成:创建一条名为testbase1的数据库(索引)和名为testtable1的表(类型),并为他插入一条id为1的数据 { 大括号内的数据就是插入的数据 }

用put方式添加必须指定id,如果是POST方式添加,他会添加成功,并且返回随即生成id

在这里插入图片描述

查询这条刚插入的数据 用GET方式来请求
用MySQL的方式来表达的话可以翻译成:查询数据testbase1的数据库下,testtable1表 id为1 的这条数据在这里插入图片描述

2.2 再次添加重复的记录 (修改)

还是添加id为1 的这条数据,这里会覆盖之前的数据,然后版本号+1
在这里插入图片描述
多添加一个字段
版本号再此发生了变化
在这里插入图片描述

3. POST 常用API
3.1 POST 执行添加

指定id
这里的用法和put是一样的
在这里插入图片描述
不指定id

返回随机id
在这里插入图片描述

3.2 POST 执行修改

将id为1这条数据的name修改

在这里插入图片描述

在这里插入图片描述

路径后面带 _update

他会与原值作比较,如果没有发生变化他不会执行修改,并且版本号也不会变
在这里插入图片描述

4. DELETE 常用API
4.1 删除某条数据

在这里插入图片描述

4.2 删除整个数据库(索引)

在这里插入图片描述

4.3 不能删除表(类型)
5. 批量操作 _bulk

测试数据地址
在这里插入图片描述

运行:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值