首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ElasticSearch7.8入门部署篇

上次简单介绍了ES7.8的基本情况--,这次根据官方的入门部署篇进行简单介绍。

涉及到的文档地址如下:

https://www.elastic.co/guide/en/elasticsearch/reference/7.8/getting-started.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.8/getting-started-install.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.8/getting-started-index.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.8/getting-started-search.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.8/getting-started-aggregations.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.8/getting-started-next-steps.html

本次的任务:

本机模拟部署三节点

索引测试数据

使用ES的查询语言来查询数据

对数据进行聚合和指标分析

任务一:

https://www.elastic.co/downloads/elasticsearch

https://www.elastic.co/downloads/kibana

一、分别下载7.8.1的ElasticSearchh和Kibana。以下以windows的zip为例。放到本地目录。这里以D:\demo          

           二、配置ES,打开D:\demo\elasticsearch-7.8.1-windows-x86_64\elasticsearch-7.8.1\config\elasticsearch.yml 。配置path.data 为D:\demo\esdatamain。

三、运行D:\demo\elasticsearch-7.8.1-windows-x86_64\elasticsearch-7.8.1\bin\elasticsearch.bat 。等ES正常启动后。访问http://127.0.0.1:9200/  查看单节点情况下的ES信息          

四、单机三节点

首先验证目前的节点数。

http://127.0.0.1:9200/_cat/health?v

目前为一个节点。然后分别启动第二个,第三个实例

D:\demo\elasticsearch-7.8.1-windows-x86_64\elasticsearch-7.8.1\bin\elasticsearch.bat -E path.data=D:\demo\esdatanode2 -E path.logs=D:\demo\esnode2log

D:\demo\elasticsearch-7.8.1-windows-x86_64\elasticsearch-7.8.1\bin\elasticsearch.bat -E path.data=D:\demo\esdatanode3 -E path.logs=D:\demo\esnode3log

没过一会,节点数量变成三个了。注意的是这仅仅只是单机三节点。而多机多节点的情况更复杂。

五、kibana启动

D:\demo\kibana-7.8.1-windows-x86_64\config\kibana.yml增加elasticsearch.hosts为es地址,这次不用修改

然后启动kibana,可能会有如下提示。

稍微等一会,会出现这样的

最后会出来正常页面了。

六、kibana中文语言包使用

还是修改kibana.yml。把i18n.locale变成"zh-CN"。然后重启

顺利出现中文

任务一顺利完成。

任务二、索引测试数据

以下测试均为未申明类型下的ES自动识别类型,关于这块,之前简单提过---,之后会更更详细的说下。

索引数据,可以使用PUT/POST方法。

其中PUT可以指定数据的id,

PUT /customer/_doc/1

{

 "name": "John Doe"

}

POST方法不指定id,由ES自动生成一个。

POST /customer/_doc/

{

 "name": "John Doe"

}

可使用如下语法进行搜索:

POST /customer/_search

{

 "query": {"match_all": {}}

      }

另一种方式是批量处理 bulk。之后介绍。

任务三:简单的查询

先来看简单的查询语句

GET /bank/_search

       {

 "query": { "match_all": {} },

 "sort": [

   { "account_number": "asc" }

 ]

}。

可以看到ES基本语句,query来查询,sort支持排序。类似sql中的 select * from a where a.x =b order by a.c的语法

返回值解析

和mysql类似,也支持from size的参数

GET /bank/_search

{

 "query": { "match_all": {} },

 "sort": [

   { "account_number": "asc" }

 ],

 "from": 10,

 "size": 10

}

ES具体的搜索方式,我们将在后面介绍。match,bool等。

任务四:简单的聚合数据

同样,由一个简单的聚合语句开始

GET /bank/_search

{

 "size": 0,

 "aggs": {

   "group_by_state": {

     "terms": {

       "field": "state.keyword"

     }

   }

 }

}

类似mysql的group by 语句。注意的field的意思存在一个子域,通过子域来聚合。具体我们也会在后面介绍。

ES也支持在聚合排序。

GET /bank/_search

{

 "size": 0,

 "aggs": {

   "group_by_state": {

     "terms": {

       "field": "state.keyword",

       "order": {

         "average_balance": "desc"

       }

     },

     "aggs": {

       "average_balance": {

         "avg": {

           "field": "balance"

         }

       }

     }

   }

 }

}

按照average_balance来逆向排序,而average_balance又是平均值。

ES还有个几个弹性应用,Site Search 和 App Search 和 Enterprise Search 我们之后介绍。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200813A0QV9P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券