ElasticSearch之HTTP请求的简单操作

本文介绍了Elasticsearch的基本概念,包括下载、启动、RESTful接口和Postman的使用。详细讲解了索引操作、文档操作(自动生成ID与指定ID)、条件查询和映射关系,帮助读者快速掌握这个强大的搜索引擎。
摘要由CSDN通过智能技术生成

一、什么是ElasticSearch

Elaticsearch,简称为 ES, ES 是一个开源的高扩展的分布式全文搜索引擎, 是整个 ElasticStack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。

二、Elasticsearch入门

1. 下载

下载路径
官方文档

2.解压并启动

在这里插入图片描述
注意两个端口号:
(1)9300为ElasticSearch集群组件使用的端口号
(2)9200位浏览器访问的RestFul风格的端口

3.通过9200访问服务

看到该页面则说明启动成功
在这里插入图片描述

4.可能导致启动失败的原因

  1. 7.8以后的ElasticSearch需要JDK1.8以上,如果系统环境变量配置过JAVAHOME的话会优先使用系统配置的JDK,若系统没配置JAVAHOME则会使用自带的JDK
  2. 启动后闪退则修改/config/jvm.options配置文件
# 设置 JVM 初始内存为 1G。此值可以设置与-Xmx 相同,以避免每次垃圾回收完成后 JVM 重新分配内存
# Xms represents the initial size of total heap space
# 设置 JVM 最大可用内存为 1G
# Xmx represents the maximum size of total heap space
-Xms1g
-Xmx1g

三、使用前必了解知识点

1.什么是RESTful

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI(Universal Resource Identifier) 得到一个唯一的地址。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 GET、PUT、POST 和DELETE。
在 REST 样式的 Web 服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。这些方法都是标准方法,包括 HTTP GET、POST、PUT、DELETE,还可能包括 HEAD 和 OPTIONS。简单的理解就是,如果想要访问互联网上的资源,就必须向资源所在的服务器发出请求,请求体中必须包含资源的网络路径,以及对资源进行的操作(增删改查)。

2.为什么要使用Postman

如果直接通过浏览器向 Elasticsearch 服务器发请求,那么需要在发送的请求中包含HTTP 标准的方法,而 HTTP 的大部分特性且仅支持 GET 和 POST 方法。所以为了能方便地进行客户端的访问,可以使用 Postman 软件。Postman 提供功能强大的 Web API 和 HTTP 请求调试。软件功能强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman 中文版能够发送任何类型的 HTTP 请求 (GET, HEAD, POST, PUT…),不仅能够表单提交,且可以附带任意类型请求体。

3.数据格式

Elasticsearch 是面向文档型数据库,一条数据在这里就是一个文档。我们将 Elasticsearch 里存储文档数据和关系型数据库 MySQL 存储数据的概念进行一个类比。
在这里插入图片描述
ES 里的 Index 可以看做一个库,而 Types 相当于表,Documents 则相当于表的行。这里 Types 的概念已经被逐渐弱化,Elasticsearch 6.X 中,一个 index 下已经只能包含一个type,Elasticsearch 7.X 中, Type 的概念已经被删除了。

4.正向索引和倒排索引

用两张表格来简单区别一下

  1. 正向索引
id content
1001 my name is zhangsan
1002 my name is lisi
  1. 倒排索引
    这种情况下表(ElasticSearch的type)的概念已经逐渐弱化,现在这种概念已经被删除了。
keyword content
name 1001,1002
zhang 1001

5.常用的四种请求方式

GET、Delete、 POST、 PUT,其中GET、Delete和PUT这三种请求方式执行的结果是幂等的,简单来说就是每次执行的结果都是相同的,而POST是不幂等的,每次执行的结果不一定是一样的。
其中HEAD也是幂等的。

四、索引的操作

1.创建索引

  1. 创建一个shopping的索引,PUT方式下的127.0.0.1:9200/shopping
    在这里插入图片描述
  2. 如果重复创建
    在这里插入图片描述
  3. 如果使用不具有幂等性的POST方式创建

在这里插入图片描述

2.获取索引的相关信息

  1. 查询指定索引信息,GET方式下的127.0.0.1:9200/shopping
    在这里插入图片描述
  2. 查询所有索引的信息
    在这里插入图片描述

3.删除索引

  1. 删除指定索引,DELETE方式下的127.0.0.1:9200/shopping_1
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值