Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎,设计用于云计算环境中,能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性,可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个全文搜索引擎,它还提供了分布式的多用户能力,实时的分析,以及对复杂搜索语句的处理能力,使其在众多场景下,如企业搜索,日志和事件数据分析等,都有广泛的应用。 本文将向你详细介绍如何正确地安装和配置 Elasticsearch,以及如何使用 Postman 工具来访问 Elasticsearch 的 API 接口。
1、Elasticsearch安装步骤
1.1、下载
官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch
选择对应配置与版本下载:
1.2、解压
下载压缩包后解压
1.3、启动
其实不存在什么安装不安装,解压完之后 ES 就能直接用了,我们打开文件包,再打开 bin/ 目录,然后打开这个叫 elasticsearch 的文件,即可启动 ElasticSearch::
打开之后等一等:
1.4、验证
Elasticsearch 默认使用端口为 9200,我们打开浏览器,输入域名:
代码语言:javascript复制http://localhost:9200/
可以看到:
至此,恭喜你,ElasticSearch 安装成功了。
1.5、注意
如果报错:
代码语言:javascript复制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 后:
2、Postman交互
Elasticsearch 可以与 Postman 交互。Elasticsearch 提供了 RESTful API,可以通过 HTTP 请求进行交互,而 Postman 是一个非常流行的 API 测试工具,可以用来发送 HTTP 请求,因此可以用来与 Elasticsearch 进行交互。
2.1、检查Elasticsearch服务状态
代码语言:javascript复制方法:GET
URL:http://localhost:9200/
这个 API 用于检查 Elasticsearch 服务的状态,它没有入参。
出参 JSON 对象包含了以下信息:
name
:节点名称;cluster_name
:集群名称;cluster_uuid
:集群的唯一标识符;version
:包含了关于 Elasticsearch 版本的一些信息,如版本号、构建类型、构建日期等;tagline
:Elasticsearch 的标语
通过这个 API,你可以快速检查 Elasticsearch 服务是否正常运行,以及获取服务的一些基本信息。
2.2、创建一个新的索引
代码语言:javascript复制方法:PUT
URL:http://localhost:9200/my_index
这个 API 用于创建一个名为 my_index
的新索引
当你发送这个 PUT 请求后,如果索引创建成功,Elasticsearch 会返回一个 JSON 对象,包含了一些关于操作的信息。
这个 JSON 对象包含了以下信息:
acknowledged
:如果为 true,表示索引创建请求已经被成功接收。shards_acknowledged
:如果为 true,表示索引创建操作已经在所有分片上成功完成。index
:创建的索引名称。
2.3、获取指定索引的信息
代码语言:javascript复制方法:GET
URL:`http://localhost:9200/my_index`
这个 API 用于获取名为 my_index
的索引的信息。
当你发送这个 GET 请求后,如果索引存在,Elasticsearch 会返回一个 JSON 对象,包含了索引的一些信息。
这个 JSON 对象包含了以下信息:
- my_index:索引的名称。
aliases
:索引的别名;mappings
:索引的映射信息,包括字段名称、字段类型等;settings
:索引的设置信息,包括创建日期、分片数量、副本数量、UUID、版本等。
通过这个 API,你可以获取 Elasticsearch 索引的详细信息。
2.4、添加文档
代码语言:javascript复制方法:POST
URL:`http://localhost:9200/my_index/_doc`
这个 API 用于在 my_index
索引中添加一个新的文档。
在这个例子中,我们添加了一个新的文档,包含两个字段:name
和 email
。
当你发送这个 POST 请求后,如果添加成功,Elasticsearch 会返回一个 JSON 对象,包含了一些关于操作的信息。
这个 JSON 对象包含了以下信息:
_index
:文档所在的索引名称。_type
:文档的类型(如果有的话)。_id
:新添加的文档的 ID。_version
:文档的版本号,新添加的文档的版本号为 1。result
:操作的结果,这里是 “created”,表示文档已被创建。_shards
:操作涉及的分片数量,包括总数、成功数和失败数。_seq_no
:操作的序列号。_primary_term
:操作的主要术语。
通过这个 API,你可以在 Elasticsearch 索引中添加新的文档。
2.5、查询指定索引中的所有文档
代码语言:javascript复制方法:GET
URL:http://localhost:9200/my_index/_search
这个 API 用于查询 my_index
索引中的所有文档
当你发送这个 GET 请求后,Elasticsearch 会返回一个 JSON 对象,包含了查询结果。
这个 JSON 对象包含了以下信息:
took
:查询操作花费的时间(毫秒)。timed_out
:如果为 true,表示查询操作超时。_shards
:查询操作涉及的分片数量,包括总数、成功数、跳过数和失败数。hits
:查询结果。total
:匹配的文档总数。max_score
:匹配文档的最大得分。hits
:一个数组,包含了匹配的文档。每个文档包括索引名称、文档类型、文档 ID、得分和源文档内容。
通过这个 API,你可以查询 Elasticsearch 索引中的所有文档。