Elasticsearch安装并使用Postman访问

Elasticsearch,一个强大的开源搜索和分析引擎,已经在全球范围内被广泛应用于各种场景,包括网站搜索、日志分析、实时应用等。由于其强大的功能和灵活性,Elasticsearch 已经成为大数据处理的重要工具。然而,对于许多初次接触 Elasticsearch 的人来说,如何正确安装和配置 Elasticsearch 可能会有些困惑。因此,本文将详细介绍如何在不同的操作系统上安装 Elasticsearch,帮助你快速搭建起 Elasticsearch 的开发或测试环境。


文章目录

        • 1、Elasticsearch安装步骤
          • 1.1、下载
          • 1.2、解压
          • 1.3、启动
          • 1.4、验证
          • 1.5、注意
        • 2、Postman交互
          • 1.1、检查 Elasticsearch 服务状态
          • 1.2、创建一个新的索引
          • 1.3、获取指定索引的信息
          • 1.4、添加文档
          • 1.5、查询指定索引中的所有文档
          • 2.6、其他


1、Elasticsearch安装步骤
1.1、下载

官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch

选择对应配置与版本下载:

image-20231001145824044

1.2、解压

下载压缩包后解压

1.3、启动

其实不存在什么安装不安装,解压完之后 ES 就能直接用了,我们打开文件包,再打开 bin/ 目录,然后打开这个叫 elasticsearch 的文件,即可启动 ElasticSearch::

image-20231001150111456

打开之后等一等:

image-20231001144802593

1.4、验证

Elasticsearch 默认使用端口为 9200,我们打开浏览器,输入域名:

http://localhost:9200/

可以看到:

image-20231001145518914

至此,恭喜你,ElasticSearch 安装成功了。

1.5、注意

如果报错:

received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200

原因是 Elasticsearch 开启了安全认证,虽然 started 成功,但访问 http://localhost:9200/ 失败。

解决方案:

找到 config/ 目录下面的 elasticsearch.yml 配置文件,把安全认证开关从原先的 true 都改成 false,实现免密登录访问即可,修改这两处都为 false 后:

image-20231001150500333


2、Postman交互

Elasticsearch 可以与 Postman 交互。Elasticsearch 提供了 RESTful API,可以通过 HTTP 请求进行交互,而 Postman 是一个非常流行的 API 测试工具,可以用来发送 HTTP 请求,因此可以用来与 Elasticsearch 进行交互。

1.1、检查 Elasticsearch 服务状态
方法:GET
URL:http://localhost:9200/

这个 API 用于检查 Elasticsearch 服务的状态,它没有入参。

image-20231001154011320

出参 JSON 对象包含了以下信息:

  • name:节点名称;
  • cluster_name:集群名称;
  • cluster_uuid:集群的唯一标识符;
  • version:包含了关于 Elasticsearch 版本的一些信息,如版本号、构建类型、构建日期等;
  • tagline:Elasticsearch 的标语

通过这个 API,你可以快速检查 Elasticsearch 服务是否正常运行,以及获取服务的一些基本信息。

1.2、创建一个新的索引
方法:PUT
URL:http://localhost:9200/my_index

这个 API 用于创建一个名为 my_index 的新索引

image-20231001160807327

当你发送这个 PUT 请求后,如果索引创建成功,Elasticsearch 会返回一个 JSON 对象,包含了一些关于操作的信息。

这个 JSON 对象包含了以下信息:

  • acknowledged:如果为 true,表示索引创建请求已经被成功接收。
  • shards_acknowledged:如果为 true,表示索引创建操作已经在所有分片上成功完成。
  • index:创建的索引名称。
1.3、获取指定索引的信息
方法:GET
URL:`http://localhost:9200/my_index`

这个 API 用于获取名为 my_index 的索引的信息。

image-20231001161112051

当你发送这个 GET 请求后,如果索引存在,Elasticsearch 会返回一个 JSON 对象,包含了索引的一些信息。

这个 JSON 对象包含了以下信息:

  • my_index:索引的名称。
  • aliases:索引的别名;
  • mappings:索引的映射信息,包括字段名称、字段类型等;
  • settings:索引的设置信息,包括创建日期、分片数量、副本数量、UUID、版本等。

通过这个 API,你可以获取 Elasticsearch 索引的详细信息。

1.4、添加文档
方法:POST
URL:`http://localhost:9200/my_index/_doc`

这个 API 用于在 my_index 索引中添加一个新的文档。

image-20231001163113736

在这个例子中,我们添加了一个新的文档,包含两个字段:nameemail

当你发送这个 POST 请求后,如果添加成功,Elasticsearch 会返回一个 JSON 对象,包含了一些关于操作的信息。

这个 JSON 对象包含了以下信息:

  • _index:文档所在的索引名称。
  • _type:文档的类型(如果有的话)。
  • _id:新添加的文档的 ID。
  • _version:文档的版本号,新添加的文档的版本号为 1。
  • result:操作的结果,这里是 “created”,表示文档已被创建。
  • _shards:操作涉及的分片数量,包括总数、成功数和失败数。
  • _seq_no:操作的序列号。
  • _primary_term:操作的主要术语。

通过这个 API,你可以在 Elasticsearch 索引中添加新的文档。

1.5、查询指定索引中的所有文档
方法:GET
URL:http://localhost:9200/my_index/_search

这个 API 用于查询 my_index 索引中的所有文档

image-20231001163500496

当你发送这个 GET 请求后,Elasticsearch 会返回一个 JSON 对象,包含了查询结果。

这个 JSON 对象包含了以下信息:

  • took:查询操作花费的时间(毫秒)。
  • timed_out:如果为 true,表示查询操作超时。
  • _shards:查询操作涉及的分片数量,包括总数、成功数、跳过数和失败数。
  • hits:查询结果。
  • total:匹配的文档总数。
  • max_score:匹配文档的最大得分。
  • hits:一个数组,包含了匹配的文档。每个文档包括索引名称、文档类型、文档 ID、得分和源文档内容。

通过这个 API,你可以查询 Elasticsearch 索引中的所有文档。

2.6、其他
  1. 获取文档

    方法:GET

    URL:http://localhost:9200/my_index/_doc/1

  2. 更新文档

    方法:POST

    URL:http://localhost:9200/my_index/_update/1

    Body(选择 raw 和 JSON 格式):

    {"doc": {"name": "Jane Doe"}
    }
    
  3. 删除文档

    方法:DELETE

    URL:http://localhost:9200/my_index/_doc/1

  4. 查询所有文档

    方法:GET

    URL:http://localhost:9200/my_index/_search

  5. 复杂查询

    方法:GET

    URL:http://localhost:9200/my_index/_search

    Body(选择 raw 和 JSON 格式):

    {"query": {"match": {"name": "John Doe"}}
    }
    
  6. 删除索引

    方法:DELETE

    URL:http://localhost:9200/my_index

  7. 批量添加文档

    方法:POST

    URL:http://localhost:9200/my_index/_bulk

    Body(选择 raw 和 JSON 格式):

    { "index" : { "_id" : "1" } }
    { "name" : "John Doe", "email" : "john@example.com" }
    { "index" : { "_id" : "2" } }
    { "name" : "Jane Doe", "email" : "jane@example.com" }
    
  8. 获取多个文档

    方法:GET

    URL:http://localhost:9200/my_index/_mget

    Body(选择 raw 和 JSON 格式):

    {"ids" : ["1", "2"]
    }
    
  9. 统计文档数量

    方法:GET

    URL:http://localhost:9200/my_index/_count

  10. 范围查询

方法:GET

URL:http://localhost:9200/my_index/_search

Body(选择 raw 和 JSON 格式):

{"query": {"range" : {"age" : {"gte" : 10,"lte" : 20}}}
}
  1. 排序查询

方法:GET

URL:http://localhost:9200/my_index/_search

Body(选择 raw 和 JSON 格式):

{"query" : {"match_all" : {}},"sort" : [{ "age" : "desc" }]
}
  1. 聚合查询

方法:GET

URL:http://localhost:9200/my_index/_search

Body(选择 raw 和 JSON 格式):

{"aggs" : {"avg_age" : { "avg" : { "field" : "age" } }}
}
  1. 高亮查询

方法:GET

URL:http://localhost:9200/my_index/_search

Body(选择 raw 和 JSON 格式):

{"query" : {"match" : { "name" : "John Doe" }},"highlight" : {"fields" : {"name" : {}}}
}
  1. 删除所有文档

方法:POST

URL:http://localhost:9200/my_index/_delete_by_query

Body(选择 raw 和 JSON 格式):

{"query": {"match_all": {}}
}
  1. 创建别名

方法:POST

URL:http://localhost:9200/_aliases

Body(选择 raw 和 JSON 格式):

{"actions" : [{ "add" : { "index" : "my_index", "alias" : "my_alias" } }]
}
  1. 获取集群健康状态

    方法:GET

    URL:http://localhost:9200/_cluster/health

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148186.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式11、享元模式Flyweight

解释说明:享元模式(Flyweight Pattern)运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。 抽象享元类(Flyweight&…

【记录】IDA|IDA怎么查看当前二进制文件自动分析出来的内存分布情况(内存范围和读写性)

IDA版本:7.6 背景:我之前一直是直接看Text View里面的地址的首尾地址来判断内存分布情况的,似乎是有点不准确,然后才想到IDA肯定自带查看内存分布情况的功能,而且很简单。 可以通过View-Toolbars-Segments&#xff0c…

竞赛选题 机器视觉人体跌倒检测系统 - opencv python

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 机器视觉人体跌倒检测系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数&…

Kafka日志索引详解以及生产常见问题分析与总结

文章目录 1、Kafka的Log日志梳理1.1、Topic下的消息是如何存储的?1.1.1、 log文件追加记录所有消息1.1.2、 index和timeindex加速读取log消息日志。 1.2、文件清理机制1.2.1、如何判断哪些日志文件过期了1.2.2、过期的日志文件如何处理 1.3、Kafka的文件高效读写机制…

MySQL-MVCC(Multi-Version Concurrency Control)

MySQL-MVCC(Multi-Version Concurrency Control) MVCC(多版本并发控制):为了解决数据库并发读写和数据一致性的问题,是一种思想,可以有多种实现方式。 核心思想:写入时创建行的新版…

【多任务案例:猫狗脸部定位与分类】

【猫狗脸部定位与识别】 1 引言2 损失函数3 The Oxford-IIIT Pet Dataset数据集4 数据预处理4 创建模型输入5 自定义数据集加载方式6 显示一批次数据7 创建定位模型8 模型训练9 绘制损失曲线10 模型保存与预测 1 引言 猫狗脸部定位与识别分为定位和识别,即定位猫狗…

MacOS怎么安装Nacos(附带:Windows系统)

MacOS安装Nacos(一定要配置JDK的环境变量,后面告诉你为什么?) (1)进入Nacos官网,前往githubhomehomehttp://nacos.io/zh-cn/ (2)点击右下角的releases 然后点击Tags 选择…

代码随想录算法训练营第五十七天 | 392.判断子序列 115.不同的子序列

1. 判断子序列 392. 判断子序列 - 力扣(LeetCode) dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度。 class Solution {public boolean isSubsequence(String s, String t) {//dp[i][j] 表示…

Redis7的数据结构

Redis以键-值对的形式存储数据 一、键 1、键的特点 键是一个字符串,这个字符串的内容可以是数字、字符序列,也可以是一个文件的字节序列,甚至空字符串也可以做为key。 在一个数据库中键必须是唯一的。 键最大可以达到512M,但太…

通用收藏管理器Koillection

什么是 Koillection ? Koillection 是一个自托管的收藏管理器,旨在跟踪任何类型的物理(主要)收藏,如书籍、DVD、邮票、游戏……,由于 Koillection 旨在用于任何类型的收藏,它不支持自动下载元数…

STM32 DMA从存储器发送数据到串口

1.任务描述 (1)ds18b20测量环境温度存储到存储器(数组)中。 (2)开启DMA将数组中的内容,通过DMA发送到串口 存在问题,ds18b20读到的数据是正常的,但是串口只是发送其低…

Redis最常见的5种应用场景

Redis作为当今最流行的内存数据库,已经成为服务端加速的必备工具之一。对于Redis为什么那么快?以及Redis采用单线程,但为什么反而获得更高的性能的疑问,在之前的Redis为什么那么快?一文中,已经有所介绍。 …

全新UI彩虹外链网盘系统源码(前后端美化模板)

全新UI彩虹外链网盘系统源码前后端美化模板,支持所有格式文件的上传、生成文件外链、图片外链、音乐视频外链等功能,同时还可以自动生成相应的 UBB 代码和 HTML 代码,支持文本、图片、音乐、视频在线预览。这不仅仅是一个网盘,更是…

证书显示未受信任,生成的证书过期

此时若是导入证书后,证书显示未受信任,则说明我们缺失最新的AppleWWDRCA证书 解决方案: 重新下载AppleWWDRCA并安装。即下载最新的AppleWWDRCA证书,双击安装到“登录”项的钥匙串下;然后再安装你的开发证书或者发布证书…

WebSocket实战之六心跳重连机制

一、前言 WebSocket应用部署到生产环境,我们除了会碰到因为经过代理服务器无法连接的问题(注:该问题可以通过搭建WSS来解决,具体配置请看 WebSocket实战之四WSS配置 ),另外一个问题就是外网环境不稳定经常…

Appium开发

特点 开源免费支持多个平台 IOS(苹果)、安卓App的自动化都支持 支持多种类型的自动化 支持苹果、安卓应用原生界面的自动化支持应用内嵌网络视图的自动化支持手机浏览器(Chrome)中的web网站自动化支持flutter应用的自动化 支持多种编程语言 像selenium一样,可以用多…

react.js在visual code 下的hello World

想学习reacr.js ,就开始做一个hello world。 我的环境是visual code ,所以我找这个环境下的例子。参照: https://code.visualstudio.com/docs/nodejs/reactjs-tutorial 要学习react.js ,还得先安装node.js,我在visual …

面试打底稿④ 专业技能的第四部分

简历原文 抽查部分 了解Python的使用(第一篇关于Python升级版本bug解决的文章斩获6W阅读),用python实现了几篇图像信息隐藏领 域论文的复现(博客中有提及); 了解Django基本框架,写过Django框架的…

【软考】4.2 关系代数

《 关系代数 》 表和表之间的逻辑运算 笛卡尔积:S1 x S2 投影:π;选择某一列(属性);一个关系R的投影操作结果也是一个关系,记作Πa,它由从关系R中选出的A列元素构成;选择…

测开 | Vue速查知识点

文章目录 Vue知识1. Vue 概述2. Vue 代码格式3. Vue 指令3.1 v-bind & v-model3.2 v-on3.3 v-if和v-show3.4 v-for 4. 生命周期 Vue知识 1. Vue 概述 简介: Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架。与其他…