9.聚合与第一部分总结

1. 什么是聚合(Aggregation)

在这里插入图片描述

1.1 集合的分类

  • Bucket Aggregation :一些列满足特定条件的文档的集合
  • Metric Aggregation :一些数学运算,可以对文档字段进行统计分析
  • Pipeline Aggregation :对其他的聚合结果进行二次聚合
  • Matrix Aggregration : 支持对多个字段的操作并提供一个结果矩阵

1.2 Bucket & Metric

在这里插入图片描述

1.2.1 Bucket

在这里插入图片描述

1.2.2 Metric

在这里插入图片描述

1.2.3 Bucket Demo

在这里插入图片描述

1.2.4 Bucket & Metric Demo

在这里插入图片描述
价格统计信息+天气信息
在这里插入图片描述

自我测试

  1. 判断题:ES支持使用HTTP PUT 写入新文档,并通过Elasticsearch 生成文档ID
  2. 判断题:Update 一个文档,需要使用HTTP PUT
  3. 判断题:Index 一个已存在的文档,旧的文档会先被删除,新的文档再被写入,同时版本号加一
  4. 尝试描述创建一个新的文档到一个不存在的索引中,背后会发生一些什么?
  5. ES 7 中的合法的type是什么?
  6. 精确值和全文的本质区别是什么?
  7. Analyzer由那几部分组成?
  8. 尝试描述match 和 match_phrase的区别?
  9. 如果你希望match_phrase匹配到更多的结果,你应该配置查询中什么参数?
  10. 如果Mapping 的dynamic 设置成strict,索引一个包含新增字段的文档时会发生什么?
  11. 判断题:可以把一个字段的类型从 integer 改成 long ,因为这两个类型是兼容的?
  12. 判断题:你可以在Mapping 文件中为indexing和searching指定不同的analyzer?
  13. 判断题: 字段类型为Text的字段,一定一个被全文搜索

答案

  1. 错,需要用POST 命令创建
  2. 错,Update 文档,使用POST,PUT只能用来做 Mapping 或者 Create
  3. 默认情况下,会创建相应的索引,并且自己设置Mapping,当然,实际情况还是要看是否有合适的Index Template
  4. _doc
  5. 精确值不会被分词,全文本会
  6. 三部分:Character Filter+ Tokenizer + Token Filter
  7. Match 中的terms之间是or的关系,Match Phrase 的terms 之间是and的关系,并且term之间位置关系也影响搜索结果
  8. slop
  9. 直接报错
  10. 错。字段类型修改,需要重新reindex
  11. 对 可以在Mapping 中为index 和 search 指定不同的analyzer
  12. 错 可以通过为 text类型的字段指定 Not Indexed 使其无法被搜索
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值