一、简介 聚合就是对分散的数据进行统计、分析、运算,es提供了一些列的聚合操作API,聚合的字段不能被分词 桶聚合(Bucket Aggregation):对文档进行分组 term聚合:按照文档字段值进行分组 date histogram: 按日期阶梯分组 指标(Metrics Aggregation)聚合:求最大值,最小值,平均值等 avg:求平均值 max:求最大值 min:求最小值 stats:同时求最大值、最小值、平均值等 管道(Pipeline Aggregation)聚合:在聚合结果的基础上再次做聚合操作 二、桶聚合 elasticsearch使用桶聚合对文档进行分组,类似SQL中的group by 2.1 语法 该示例需要删除注释才能运行 GET bank\_search { "size":0, // 文档的数据条数,设置为0表示不显示文档,只显示聚合结果 "aggs":{ // 定义聚合 "ageAggs":{ // 聚合的名称 "terms":{ // 聚合的类型,我们按字段分组所以选择了terms "field":"age",// 用于分组的字段 "size":.... 有更新! elasticsearch基础--聚合操作 Elasticsearch
一、获取基础数据 访问7.4版本测试数据下载地址 获取到数据后,通过kibana批量添加数据 二、搜索 2.1 match 对指定字段进行分词匹配数据 match中,可以通过空格分隔,输入多个词进行匹配,会将符合条件的结果输出 此时如果我们搜索的文本本身就是带着空格的,不希望对他进行分词,则使用match_prase进行匹配 2.2 只查询指定字段 前面使用了match关键字查询数据,发现字段很多,可以通过source关键字,来过滤自己需要的字段 2.3 排序 使用sort关键字可以按照指定字段规则进行排序,如下按照年龄降序 2.3 分页查询 分页查询使用from、size实现,等同于mysql的limit的两个参数 from:数据开始下标 size:查询的数据条数 2.4 bool查询 前面我们使用了match来匹配字段,但是如果我们有多个查询字段,则可以通过bool来组合这些查询条件 2.4.1 must 使用must命令在查询数据时,会查找符合must中定义的所有规则的数据,等同于数据库的and条件 2.4.2 should should命令在查询数据时,查询的数据中,只要有任意.... 有更新! elasticsearch基础--搜索操作 Elasticsearch
一、基础API elasticsearch封装了lucene并封装了restful api用于操作; 192.168.56.5:9200是我的elasticsearch部署得服务器及端口,换成自己的即可。 1.1 获取基础数据 http://192.168.56.5:9200/_cat/health 查询节点健康状况 http://192.168.56.5:9200/_cat/master 查看主节点信息 http://192.168.56.5:9200/_cat/nodes 查询所有节点信息 http://192.168.56.5:9200/_cat/indices 查询所有索引信息 1.2 post和put类型请求插入更新数据 1.2.1 put类型请求 put类型的请求可以向elasticsearch发送并存储数据,需要携带ID 该请求中,索引为customer,类型为external,数据ID为1,数据字段值在请求体中 put带ID保存,第一次会创建数据,后面在发送就会根据id更新数据 发送成功后,返回 在执行一次后返回 可以看到,ID任然保持不变,第二次执行后,_versio.... 有更新! elasticsearch基础--restful风格操作 Elasticsearch
1、简介 Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据 更多信息可以参考官网:https://www.elastic.co/cn/what-is/elasticsearch/ 2、JDK 不同版本的Elasticsearch需要不同版本的JDK 支持详情见:https://www.elastic.co/cn/support/matrix#matrix_jvm 3、下载安装 我下载了linux的7.11.0版本,这个版本需要JDK11支持 版本列表见:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 4、解压安装 在opt目录下解压安装直接解压安装即可 5、配置 5.1、访问地址配置 在elasticsearch的config目录下有个elasticsearch.yml文件,将IP配置为本机IP,端口使用默认端口,配置localhost会导致外部无法访问 network.host: 10.116.8.56 5.2、.... 有更新! elasticsearch基础--linux安装 Elasticsearch
一、docker安装 1.1 拉取镜像 docker pull elasticsearch:7.4.2 docker pull kibana:7.4.2 (elasticsearch得数据操作界面,类似navicat) 1.2 安装elasticsearch 创建配置文件目录和数据存储目录 mkdir -p /opt/mydata/elasticsearch/config mkdir -p /opt/mydata/elasticsearch/data 更改文件夹权限 chmod -R 777 /opt/mydata/elasticsearch/ 配置elasticsearch允许任何IP访问 echo "http.host:0.0.0.0" >> /opt/mydata/elasticsearch/config/elasticsearch.yml 启动docker镜像 9200是elasticsearch对外访问端口,9300是elasticsearch集群通信端口 设置当前环境为单节点 设置最小内存为64M,最大内存为128M docker run --name e.... 有更新! elasticsearch基础--Docker安装 Elasticsearch
Java基础--面向对象 - 问尤龙の时光 (wenyoulong.com) Java基础--基础知识 - 问尤龙の时光 (wenyoulong.com) Java基础--集合框架 - 问尤龙の时光 (wenyoulong.com) Java基础--多线程 - 问尤龙の时光 (wenyoulong.com) Java基础--常见的几种锁 - 问尤龙の时光 (wenyoulong.com) Java基础--内部类和lambda表达式 - 问尤龙の时光 (wenyoulong.com) 有更新! Java知识总结 Java基础