elasticsearch分词聚合查询demo

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

我们在通过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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程进度条-第十五周

第十五周 所花时间(包括上课) 23 代码量(行) 1200 博客量(篇) 6 了解到的知识点 1、了解ListView的基本用法,并改变焦点触碰事件; 2、理解团队开发后进行软件项目总结的益处…

Spring实战第七章

一、SpringMVC配置代替方案 1自定DispatcherServlet 按照AbstractAnnotationConfigDispatcherServletInitializer的定义,它会创建DispatcherServlet和ContextLoaderListener。 AbstractAnnotationConfigDispatcherServletInitializer有三个方法是必须要重载的abstra…

EPSON TCP/IP 通信

EPSON SCARA机器人TCP/IP 通信时,涉及到的相关指令说明。 14.3 TCP/IP命令。 OpenNet //打开TCP/IP端口。 ChkNet //返回端口状态:等待读取的字节数或错误条件。 CloseNet //关闭TCP/IP端口。 SetNet //运行时或从命令窗口中设置通信端…

JDBC(九)DatabaseMetaData 数据库元数据

通过java.sql.DatabaseMetaData 接口,我们能获取到数据库的列表、列等信息。 DatabaseMetaData 接口包含了许多方法,这里值介绍常用的。 ###获取 DatabaseMetaData 实例对象 DatabaseMetaData databaseMetaData connection.getMetaData(); 复制代码###获…

C++多线程(一)

C多线程&#xff08;一&#xff09; WIN 多线程API一 简单实例比较简单的代码&#xff0c;创建10个线程&#xff0c;其中使第4个线程在一创建就挂起&#xff0c;等到其他的线程执行的差不多的时候再使第4个线程恢复执行。#include <stdio.h>#include <stdlib.h>#i…

HALCON示例程序measure_ball_bond.hdev电路板焊点位置测量

HALCON示例程序measure_ball_bond.hdev电路板焊点位置测量 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_off () dev_close_window () FileName : ‘bonds/ball_bond_ccd_’ read_image (Image, FileName 1$‘02’) dev_open_window_fit_imag…

rank()over 函数的使用

1. over()是分析函数&#xff0c;可以和rank()函数配合使用&#xff0c;也可以和其他函数配合使用。取每个学科排名前三的分数&#xff0c;sql语句如下&#xff1a; select * from (select rank() over(partition by subject order by mark desc) rk,S.* from S) T where T.rk&…

天梯赛2016-L2

L2-001. 紧急救援 作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xff0c;你…

伺服系统控制网络的重要性! 现场总线的重要性! SSCNET运动控制系统与发展趋势

引言&#xff1a;在2010年的时候&#xff0c;在北京的一个数控公司工作。产品采用的是通过运动控制卡发脉冲的方式&#xff0c;控制机床的X、Y、Z轴进行加工。 机床在加工产品的时候&#xff0c;一直存在着精度的问题&#xff0c;例如DMG的机床可以达到0.01的加工精度&#x…

apache配置

wamp环境安装需要VC运行库的支持 apache如果需要外网访问&#xff0c;在其配置文件中寻找127.0.0.1然后替换为all 外网访问需要关闭防火墙&#xff1f;转载于:https://www.cnblogs.com/gremlin/p/5581486.html

TCP/IP 通信示例

TCP/IP 通信示例 Global String ReadData_P_All$, ReadData_P$(10), data$ Global Preserve Double x Global Integer foundnumber_PFunction TCPServerSetNet #201, "192.168.0.1", 4000, CRLF, NONE, 0OpenNet #201 As ClientWaitNet #201Print "TCP Connect…

MySQL分库分表总结参考

单库单表 单库单表是最常见的数据库设计&#xff0c;例如&#xff0c;有一张用户(user)表放在数据库db中&#xff0c;所有的用户都可以在db库中的user表中查到。 单库多表 随着用户数量的增加&#xff0c;user表的数据量会越来越大&#xff0c;当数据量达到一定程度的时候对u…

小兔伴伴家庭动物园AR智能早教产品上市

2016年6月&#xff0c;经过乐卓大家庭所有人的共同努力&#xff0c;公司旗下首款新品——小兔伴伴之《家庭动物园》3D智能学习卡正式面世。 每个孩子都应该在合适的时间去体验丰富的声音、色彩和动作&#xff0c;《家庭动物园》&#xff0c;专为2-6岁儿童贴心设计&#xff0c;是…

EPSON 自带CCD图像处理包使用举例

EPSON 机器人可以购买CCD图像处理包选项&#xff0c;CCD图像处理包与SPEL语言高度结合&#xff0c;可以非常快的将项目投入应用&#xff0c;举例说明CCD图像处理包与SPEL的联合使用。 EPSON 以视觉序列定义图像处理的一个项目&#xff0c;视觉序列是一组按照特定顺序排列的视觉…

索引使用原则

前两篇文章我总结了一些SQL数据库索引的问题&#xff0c;这篇主要来分析下索引的优缼点&#xff0c;以及如何正确使用索引。 索引的优点&#xff1a;这个显而易见&#xff0c;正确的索引会大大提高数据查询&#xff0c;对结果进行排序、分组的操作效率。 索引的缺点…

根据时间变换页面背景

1.概述 有些时侯为了丰富页面的显示效果&#xff0c;将页面制作成根据时间变换页面背景的样式&#xff0c;这样会使浏览者对此网站不会感觉厌倦&#xff0c;同时也会觉得网站制作的非常新颖。本实例通过Date对象的getHours()方法获得当前系统时间的小时&#xff0c;然后根据不同…

EPSON 自带CCD图像处理包的典型应用框架

EPSON 自带CCD图像处理包的典型应用框架 Function main ******************************************** Very important statement below: Use the * //非常重要的是在实际运行时&#xff0c;用合适的Z数值代替预定义的 ZHeight 。Z height which you wrote down earlier in *…

EPSON 利用CCD图像处理包标定工具坐标系

EPSON 利用CCD图像处理包标定工具坐标系 仰视式安装的相机可以用来计算工具偏移&#xff0c;下例使用仰视式相机来计算工具偏移。该功能首先运行一个序列来定位工具的尖端。然后计算出工具偏移&#xff08;前提是CCD已标定&#xff09;。 Function CalcTool Boolean foundReal…

挂马方式研究、挂马检测技术研究

1. 挂马定义 所谓的挂马&#xff0c;就是黑客通过各种手段&#xff0c;包括SQL注入&#xff0c;网站敏感文件扫描&#xff0c;服务器漏洞&#xff0c;网站程序0day, 等各种方法获得网站管理员账号&#xff0c;然后登陆网站后台&#xff0c;通过数据库"备份/恢复"或者…