Elasticsearch聚合分析

桃扇骨 2023-01-15 02:16 201阅读 0赞
  1. # 求Rockets队的平均年龄
  2. post nba/_search
  3. {
  4. "query": {
  5. "term": {
  6. "teamNameEn": {
  7. "value": "Rockets"
  8. }
  9. }
  10. },
  11. "aggs": {
  12. "avgAge": {
  13. "avg": {
  14. "field": "age"
  15. }
  16. }
  17. },
  18. "size": 0
  19. }
  20. #求出打球时间不为空的球员数量
  21. POST /nba/_search
  22. {
  23. "query": {
  24. "term": {
  25. "teamNameEn": {
  26. "value": "Rockets"
  27. }
  28. }
  29. },
  30. "aggs": {
  31. "countPlayerYear": {
  32. "value_count": {
  33. "field": "playYear"
  34. }
  35. }
  36. },
  37. "size": 0
  38. }
  39. # 求出Rockets球员的数量
  40. POST nba/_count
  41. {
  42. "query": {
  43. "term": {
  44. "teamNameEn": {
  45. "value": "Rockets"
  46. }
  47. }
  48. }
  49. }
  50. # 求按age去重后的文档数量
  51. post nba/_search
  52. {
  53. "query":{
  54. "term": {
  55. "teamNameEn": {
  56. "value": "Rockets"
  57. }
  58. }
  59. },
  60. "size":0,
  61. "aggs":{
  62. "aggCard":{
  63. "cardinality": {
  64. "field": "age"
  65. }
  66. }
  67. }
  68. }
  69. # 按age进行统计分析
  70. post nba/_search
  71. {
  72. "query": {
  73. "term": {
  74. "teamNameEn": {
  75. "value": "Rockets"
  76. }
  77. }
  78. },
  79. "aggs": {
  80. "statsAge": {
  81. "stats": {
  82. "field": "age"
  83. }
  84. }
  85. },
  86. "size": 0
  87. }
  88. # Rockets队根据年龄分组,取3个分组
  89. post nba/_search
  90. {
  91. "query": {
  92. "term": {
  93. "teamNameEn": {
  94. "value": "Rockets"
  95. }
  96. }
  97. },
  98. "aggs": {
  99. "aggsAge": {
  100. "terms": {
  101. "field": "age",
  102. "size": 3
  103. }
  104. }
  105. },
  106. "size": 0
  107. }
  108. # Rockets队根据年龄分组,按age倒序排列取前3个分组
  109. post nba/_search
  110. {
  111. "query": {
  112. "term": {
  113. "teamNameEn": {
  114. "value": "Rockets"
  115. }
  116. }
  117. },
  118. "aggs": {
  119. "aggsAge": {
  120. "terms": {
  121. "field": "age",
  122. "size": 3,
  123. "order":{
  124. "_key":"desc"
  125. }
  126. }
  127. }
  128. },
  129. "size": 0
  130. }
  131. # Rockets队根据年龄分组,按文档数倒序排列取前3个分组
  132. post nba/_search
  133. {
  134. "query": {
  135. "term": {
  136. "teamNameEn": {
  137. "value": "Rockets"
  138. }
  139. }
  140. },
  141. "aggs": {
  142. "aggsAge": {
  143. "terms": {
  144. "field": "age",
  145. "size": 3,
  146. "order":{
  147. "_count":"desc"
  148. }
  149. }
  150. }
  151. },
  152. "size": 0
  153. }
  154. #按球队进行分组,按每组中的平均年龄倒序排列
  155. post nba/_search
  156. {
  157. "aggs": {
  158. "aggsTeamName": {
  159. "terms": {
  160. "field": "teamNameEn",
  161. "size": 30,
  162. "order": {
  163. "avgAge": "desc"
  164. }
  165. },
  166. "aggs": {
  167. "avgAge": {
  168. "avg": {
  169. "field": "age"
  170. }
  171. }
  172. }
  173. }
  174. },
  175. "size": 0
  176. }
  177. # 对分组进行筛选Lakers、Rockets队
  178. post nba/_search
  179. {
  180. "aggs": {
  181. "aggsTeamName": {
  182. "terms": {
  183. "field": "teamNameEn",
  184. "include": [
  185. "Lakers",
  186. "Rockets",
  187. "Warriors"
  188. ],
  189. "exclude": [
  190. "Warriors"
  191. ],
  192. "size": 30,
  193. "order": {
  194. "avgAge": "desc"
  195. }
  196. },
  197. "aggs": {
  198. "avgAge": {
  199. "avg": {
  200. "field": "age"
  201. }
  202. }
  203. }
  204. }
  205. },
  206. "size": 0
  207. }
  208. # 对分组进行筛选Lakers、Rockets队
  209. post nba/_search
  210. {
  211. "aggs": {
  212. "aggsTeamName": {
  213. "terms": {
  214. "field": "teamNameEn",
  215. "include": "Lakers|Ro.*|Warriors.*",
  216. "exclude": "Warriors",
  217. "size": 30,
  218. "order": {
  219. "avgAge": "desc"
  220. }
  221. },
  222. "aggs": {
  223. "avgAge": {
  224. "avg": {
  225. "field": "age"
  226. }
  227. }
  228. }
  229. }
  230. },
  231. "size": 0
  232. }
  233. # 按年龄段进行分组
  234. post nba/_search
  235. {
  236. "aggs": {
  237. "ageRange": {
  238. "range": {
  239. "field": "age",
  240. "ranges": [
  241. {
  242. "to": 20
  243. },
  244. {
  245. "from": 20,
  246. "to": 35
  247. },
  248. {
  249. "from": 35
  250. }
  251. ]
  252. }
  253. }
  254. },
  255. "size": 0
  256. }
  257. # 按年龄段进行分组对key取别名
  258. post nba/_search
  259. {
  260. "aggs": {
  261. "ageRange": {
  262. "range": {
  263. "field": "age",
  264. "ranges": [
  265. {
  266. "to": 20,
  267. "key": "A"
  268. },
  269. {
  270. "from": 20,
  271. "to": 35,
  272. "key": "B"
  273. },
  274. {
  275. "from": 35,
  276. "key": "C"
  277. }
  278. ]
  279. }
  280. }
  281. },
  282. "size": 0
  283. }
  284. # 按球员的出生年月进行分组
  285. post nba/_search
  286. {
  287. "aggs": {
  288. "birthDayRange": {
  289. "date_range": {
  290. "field": "birthDay",
  291. "format": "MM-yyy",
  292. "ranges": [
  293. {
  294. "to": "01-1989"
  295. },
  296. {
  297. "from": "01-1989",
  298. "to": "01-1999"
  299. },
  300. {
  301. "from": "01-1999",
  302. "to": "01-2009"
  303. },
  304. {
  305. "from": "01-2009"
  306. }
  307. ]
  308. }
  309. }
  310. },
  311. "size": 0
  312. }
  313. # 按年对出生日期生成时间柱状图
  314. POST /nba/_search
  315. {
  316. "aggs": {
  317. "birthday_aggs": {
  318. "date_histogram": {
  319. "field": "birthDay",
  320. "format": "yyyy",
  321. "interval": "year"
  322. }
  323. }
  324. },
  325. "size": 0
  326. }

发表评论

表情:
评论列表 (有 0 条评论,201人围观)

还没有评论,来说两句吧...

相关阅读