2019独角兽企业重金招聘Python工程师标准>>>

我们在通过elasticsearch查询text类型的字段时,我们使用aggs进行聚合某个text类型field。这时elasticsearch会自动进行分词将分词后的结果进行聚合。获取每一个分词出现在文档的文档个数。注意:是文档的次数不是文档中分词出现的次数,也就是说即便某个词在某个文档中出现了多次,但是只记录这个词的doc_count次数为1.

添加一个可分词的text字段模板:

需要添加 analyzer 和 fielddata两个属性

[java] view plain copy

  1. "allContent": {
  2. "type": "text",
  3. "analyzer": "ik_smart",
  4. "fielddata": true
  5. }

查询语句例子:

[java] view plain copy

  1. GET voice*/_search
  2. {
  3. "_source": "{transData.allContent}",
  4. "query": {},
  5. "aggs": {
  6. "hotword": {
  7. "terms": {
  8. "field": "transData.allContent",
  9. "size": 10,
  10. "order": {
  11. "_count": "desc"
  12. }
  13. }
  14. }
  15. },
  16. "size": 0
  17. }

这里的size:0控制的是结果中hits展示的个数。

查询结果例子:

[java] view plain copy

  1. {
  2. "took": 0,
  3. "timed_out": false,
  4. "_shards": {
  5. "total": 5,
  6. "successful": 5,
  7. "failed": 0
  8. },
  9. "hits": {
  10. "total": 1,
  11. "max_score": 0,
  12. "hits": []
  13. },
  14. "aggregations": {
  15. "hotword": {
  16. "doc_count_error_upper_bound": 1,
  17. "sum_other_doc_count": 314,
  18. "buckets": [
  19. {
  20. "key": "ok",
  21. "doc_count": 119
  22. },
  23. {
  24. "key": "一",
  25. "doc_count": 123
  26. },
  27. {
  28. "key": "一下",
  29. "doc_count": 114
  30. },
  31. {
  32. "key": "一个",
  33. "doc_count": 91
  34. },
  35. {
  36. "key": "一个月",
  37. "doc_count": 52
  38. },
  39. {
  40. "key": "一些",
  41. "doc_count": 23
  42. },
  43. {
  44. "key": "一包",
  45. "doc_count": 13
  46. },
  47. {
  48. "key": "一块",
  49. "doc_count": 11
  50. },
  51. {
  52. "key": "一天",
  53. "doc_count": 4
  54. },
  55. {
  56. "key": "一定",
  57. "doc_count": 2
  58. }
  59. ]
  60. }
  61. }
  62. }

转载于:https://my.oschina.net/xiaominmin/blog/1785461

elasticsearch分词聚合查询demo相关推荐

  1. Elasticsearch系列---聚合查询原理

    概要 本篇主要介绍聚合查询的内部原理,正排索引是如何建立的和优化的,fielddata的使用,最后简单介绍了聚合分析时如何选用深度优先和广度优先. 正排索引 聚合查询的内部原理是什么,Elastich ...

  2. Elasticsearch(9) --- 聚合查询(Bucket聚合)

    Elasticsearch(9) --- 聚合查询(Bucket聚合) 系统小说 www.kuwx.net 上一篇讲了Elasticsearch聚合查询中的Metric聚合:Elasticsearch ...

  3. ElasticSearch实战系列五: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合

    Title:ElasticSearch实战系列四: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合 前言 在上上一篇中介绍了ElasticSearch实战系列三: Elas ...

  4. springboot + elasticsearch 实现聚合查询

    需求背景: 终端上报表读数 记录在elasticsearch 统计每天 最大值最小值 springboot版本:2.2.6   默认的elasticsearch <groupId>org. ...

  5. java对es做聚合查询_java操作elasticsearch实现聚合查询

    1.max 最大值 //max 求最大值 @Test public void test30() throws UnknownHostException{ //1.指定es集群 cluster.name ...

  6. java操作es聚合操作并显示其他字段_java使用elasticsearch分组进行聚合查询过程解析...

    这篇文章主要介绍了java使用elasticsearch分组进行聚合查询过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java连接elas ...

  7. java操作es聚合操作并显示其他字段_java使用elasticsearch分组进行聚合查询(group by)-项目中实际应用...

    java连接elasticsearch 进行聚合查询进行相应操作 一:对单个字段进行分组求和 1.表结构图片: 根据任务id分组,分别统计出每个任务id下有多少个文字标题 1.SQL:select i ...

  8. Elasticsearch 搜索条件与聚合结果再进行过滤的多重聚合查询-过滤桶的使用(六)

    Elasticsearch 搜索条件与聚合结果再进行过滤的多重聚合查询-过滤桶的使用(六) 实现的需求:数据分析的大范围是福特的车子,而且还需要上个月这个牌子的汽车的平均售价 需求分析: Rest-A ...

  9. es的聚合mysql聚合速度_Elasticsearch(8) --- 聚合查询(Metric聚合)

    摘要: quot;:0,"aggs":{"stats_salary":{"stats":{"field":"s ...

最新文章

  1. mysql行锁加在什么上_mysql怎么加行锁?
  2. Unity自动保存场景脚本
  3. 从技术人视角看闪电网络之微支付通道
  4. SQL Server2008附加数据库之后显示为只读时解决方法
  5. 【Nutch2.2.1源代码分析之5】索引的基本流程
  6. 设计模式学习(三)——单例模式
  7. Vue的基础认知一---构建环境/v指令的使用
  8. Hibernate ,Mybatis 区别,以及各自的一级,二级缓存理解
  9. javascript正则表达式验证IP,URL
  10. wlop一张多少钱_求解实木家具沙发垫多少钱一张
  11. 利用TCP协议进行ping
  12. 代码比对方法/代码比对工具
  13. maven打包的时候同时打源码包,并同时将源码包上传私服
  14. SPSS26中文免费版下载和安装教程
  15. 趣键盘霸榜App Store七天,下一个趣头条诞生?
  16. linux微软雅黑字体库_一条命令搞定Linux字体渲染——Ubuntu系发行版微软雅黑+宋体终极解决方案...
  17. 支付宝签名php,支付宝快捷支付 PHP服务端签名
  18. 计算机一级电子表格TF函数,TFG1000系列DDS函数信号发生器基本操作
  19. 【Python】有红、黄、绿三种颜色的球,编程计算摸出球的各种颜色搭配
  20. 流量监控服务器应该位置在哪里,搭建cacti流量监控服务器.pdf

热门文章

  1. Android自动伸展动画,android – 如何实现平滑的展开/折叠动画
  2. mysql reflush pri_Mysql Flush privileges命令的功能与使用
  3. python通过链接下载文件-如何使用Python通过HTTP下载文件?
  4. java 检测硬盘原理_深入Java核心 Java内存分配原理精讲
  5. GPU Gems1 - 19 基于图像的光照(Image-Based Lighting)
  6. 6.Half Lambert光照Diffuse Shader
  7. UFLDL教程:数据预处理
  8. @Component 和 @Bean 的区别
  9. Xlua文件在热更新中调用方法
  10. python之正则(一)