最新消息

ElasticSearch入门(一)单节点初体验

乐鱼网教程 2021-03-30 14:43

背景

What:ElasticSearch是一个分布式、RESTful风格的搜索和数据分析引擎。以下简称ES。

Features:具有近实时的全文检索能力、极其方便的横向扩展能力,怎么理解呢?可以简单理解为快、有弹性。

Why:我们知道要在传统的RDBMS中做搜索,尤其是全文搜索时,我们的选择基本就是LIKE,这在数据量大时,性能急剧下降;ES作为MySQL等关系型数据库的LIKE功能出现(当然这只是简单的类比),基于Apache的Lucene实现,提供RESTful风格的操作(增删改查)。随着ES生态的不断繁荣,结合ELK(ElasticSearch,Logstash,Kibana)技术栈,ES的口号除了全文检索,又多了数据分析。是全文检索、数据分析、统计展现的一把利器。

下载

到ElasticSearch官网,下载对应操作系统的版本:http://www.elastic.co/cn/start

我这里是Windows版的,目前为7.5.2,完成后解压。

启动

打开命令行,执行:

cdelasticsearch-7.5.2bin

.elasticsearch.bat

ES默认在9200端口启动,浏览器访问:http://localhost:9200

ElasticSearch入门(一)单节点初体验

此时,还可通过_cat/healthAPI查看ES节点的健康状态:curlhttp://localhost:9200/_cat/health?v

ElasticSearch入门(一)单节点初体验

可以看到节点基本信息及状态:1个节点,11个分片等

注意这里标出当前的status为yellow,ElasticSearch集群健康状态最佳时为green。现在是因为我们仅启动了一个节点,鉴于ElasticSearch本身的横向扩展能力即为方便,实际生产环境中都是以集群的方式提供服务,方便各节点间数据的同步以实现弹性可扩展,ES要求单节点的集群状态达不到green,最佳只是yellow。当然,如果状态为red,那就要引起注意了,集群数据有问题了。。

测试

单节点的ES集群跑起来了,那么接下来就可以把玩一番了,增删改查搞起来。刚开始建议用Postman,或者在命令行直接发出curl请求,方便上手,后期可以使用ELK技术栈中的Kibana提供的开发工具执行DSL。

以下以curl为例进行测试:

curl-XPUT"localhost:9200/movie/_doc/1?pretty"-H'Content-Type:application/json'-d'{"name":"FantasyIsland"}'

ElasticSearch入门(一)单节点初体验

curl-XGET"localhost:9200/movie/_doc/1?pretty"

ElasticSearch入门(一)单节点初体验

curl-XPUT"localhost:9200/movie/_doc/1?pretty"-H'Content-Type:application/json'-d'{"name":"JOKER"}'

curl-XGET"localhost:9200/movie/_doc/1?pretty"

ElasticSearch入门(一)单节点初体验

curl-XDELETE"localhost:9200/movie/_doc/1?pretty"

curl-XGET"localhost:9200/movie/_doc/1?pretty"

ElasticSearch入门(一)单节点初体验

这里仅是简单的增删改查,后续针对查询分别介绍:简单查询、条件查询、聚合查询、复合查询等。

Ifyouhaveanyquestionsoranybugsarefound,pleasefeelfreetocontactme.

Yourcommentsandsuggestionsarewelcome!


作者:Heartsuit

退出