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.hqwc.cn/news/124184.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#,数值计算——Ranq2的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Backup generator if Ranq1 has too short a period and Ran is too slow.The /// period is 8.5E37. Calling conventions same as Ran, above. /// </summary> …

HTML5 跨屏前端框架 Amaze UI

Amaze UI采用国际最前沿的“组件式开发”以及“移动优先”的设计理念&#xff0c;基于其丰富的组件&#xff0c;开发者可通过简单拼装即可快速构建出HTML5网页应用&#xff0c;上线仅半年&#xff0c;Amaze UI就成为了国内最流行的前端框架&#xff0c;目前在Github上收获Star数…

Scala第十二章节

Scala第十二章节 1.读取数据 2.写入数据 3.案例&#xff1a;学生成绩表 scala总目录 文档资料下载

【Java每日一题】— —第二十题:杨辉三角(直角三角形)。(2023.10.04)

&#x1f578;️Hollow&#xff0c;各位小伙伴&#xff0c;今天我们要做的是第二十题。 &#x1f3af;问题&#xff1a; 杨辉三角&#xff08;直角三角形&#xff09;。 解法1 第一步:动态初始化 第二步:为主对角线及第一列的元素赋值1 第三…

10.1 调试事件读取寄存器

当读者需要获取到特定进程内的寄存器信息时&#xff0c;则需要在上述代码中进行完善&#xff0c;首先需要编写CREATE_PROCESS_DEBUG_EVENT事件&#xff0c;程序被首次加载进入内存时会被触发此事件&#xff0c;在该事件内首先我们通过lpStartAddress属性获取到当前程序的入口地…

05_对象性能模式

对象性能模式 面向对象很好地解决了“抽象”的问题,但是必不可免地要付出定的代价。对于通常情况来讲&#xff0c;面向对象的成本大都可以忽略计。但是某些情况&#xff0c;面向对象所带来的成本必须谨慎处理。 典型模型&#xff1a; SingletonFlyweight Singleton 单件模式…

大数据Flink(九十六):DML:Deduplication

文章目录 DML:Deduplication DML:Deduplication Deduplication 定义(支持 Batch\Streaming):Deduplication 其实就是去重,也即上文介绍到的 TopN 中 row_number = 1 的场景,但是这里有一点不一样在于其排序字段一定是时间属性列,不能是其他非时间属性的普通列。在 ro…

C# DeOldify 黑白照片 老照片上色

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System…

linux系统的启动流程

目录 简述linux的启动流程 git简介 Linux文件 Ubuntu文件汇总 linux文件属性 Linux命令行 更换软件源 简述linux的启动流程 韦东山课程学习路线&#xff1a;APP应用--DEV驱动--项目。 百问网官网 git资料&#xff1a;https://e.coding.net/weiongshan/01_all_series_qu…

计算机竞赛 行人重识别(person reid) - 机器视觉 深度学习 opencv python

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习行人重识别(person reid)系统 该项目…

快速选择排序

"你经过我每个灿烂时刻&#xff0c;我才真正学会如你般自由" 前些天有些无聊&#xff0c;想试试自己写的快排能否过leetcode上的排序算法题。结果是&#xff0c;不用截图可想而知&#xff0c;肯定是没过的&#xff0c;否则也不会有这篇文章的产出。 这份快排算法代码…

【已解决】opencv 交叉编译 ffmpeg选项始终为NO

一、opencv 交叉编译没有 ffmpeg &#xff0c;会导致视频打不开 在交叉编译时候&#xff0c;发现在 pc 端能用 opencv 打开的视频&#xff0c;但是在 rv1126 上打不开。在网上查了很久&#xff0c;原因可能是 交叉编译过程 ffmpeg 造成的。之前 ffmpeg 是直接用 apt 安装的&am…