经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Windows » 查看文章
详解windows 环境下搭建electricSearch+kibana
来源:jb51  时间:2021/5/10 19:20:54  对本文有异议

1.ES7.3.2 + kibana + ik-smart 百度网盘下载地址:https://pan.baidu.com/s/1eCKTYoosXl8NfX37EwjyWA

提取码:ibcf

kibana 操作文档

  1. GET _search
  2. {
  3. "query": {
  4. "match_all": {}
  5. }
  6. }
  7.  
  8. ### 查看集群健康信息
  9. GET /_cat/health?v
  10.  
  11. ### 帮助
  12. GET /_cat/health?help
  13.  
  14. ### 查看集群中节点信息
  15. GET /_cat/nodes?v
  16.  
  17. ### 查看集群中索引信息
  18. GET /_cat/indices?v
  19.  
  20. ### 精简信息
  21. GET /_cat/indices?v&h=health,status,index
  22.  
  23. ### 创建索引
  24. PUT /baizhi
  25.  
  26. ### 删除索引
  27. DELETE /baizhi
  28.  
  29. ### 创建类型mapping
  30. POST /baizhi/user
  31. {
  32. "user": {
  33. "properties": {
  34. "id": { "type": "text" },
  35. "name": { "type": "text" },
  36. "age": { "type": "integer" },
  37. "created": {
  38. "type": "date",
  39. "format": "strict_date_optional_time || epoch_millis"
  40. }
  41. }
  42. }
  43. }
  44.  
  45. ### 查看类型mapping
  46. GET /baizhi/_mapping
  47.  
  48. ### 新增单个文档
  49. PUT /baizhi/user/1
  50. {
  51. "name":"zs",
  52. "title":"张三",
  53. "age":18,
  54. "created":"2018-12-25"
  55. }
  56.  
  57. ### 查询所有文档
  58. GET /zpark/user/_search
  59.  
  60. ### 指定id查询单个文档
  61. GET /baizhi/user/1
  62.  
  63. ### 修改单个文档
  64. PUT /baizhi/user/1
  65. {
  66. "name": "lxs",
  67. "title": "李小四"
  68. }
  69.  
  70. ### 删除单个文档
  71. DELETE /baizhi/user/1
  72.  
  73. ### 批量新增
  74. POST /baizhi/user/_bulk
  75. {"index":{}}
  76. {"name":"ww","title":"王五","age":18,"created":"2018-12-27"}
  77. {"index":{}}
  78. {"name":"zl","title":"赵六","age":25,"created":"2018-12-27"}
  79.  
  80. ### 批量删除
  81. POST /baizhi/user/_bulk
  82. {"update":{"_id":"K38E728BJ1QbWBSobMEC"}}
  83. {"doc":{"title":"王小五"}}
  84. {"delete":{"_id":"LH8E728BJ1QbWBSobMEC"}}
  85.  
  86. ##############进阶##############
  87.  
  88. ########### 查询(Query)
  89.  
  90. # 批量插入测试数据
  91. POST /zpark/user/_bulk
  92. {"index":{"_id":1}}
  93. {"name":"zs","realname":"张三","age":18,"birthday":"2018-12-27","salary":1000.0,"address":"北京市昌平区沙阳路55号"}
  94. {"index":{"_id":2}}
  95. {"name":"ls","realname":"李四","age":20,"birthday":"2017-10-20","salary":5000.0,"address":"北京市朝阳区三里屯街道21号"}
  96. {"index":{"_id":3}}
  97. {"name":"ww","realname":"王五","age":25,"birthday":"2016-03-15","salary":4300.0,"address":"北京市海淀区中关村大街新中关商城2楼511室"}
  98. {"index":{"_id":4}}
  99. {"name":"zl","realname":"赵六","age":20,"birthday":"2003-04-19","salary":12300.0,"address":"北京市海淀区中关村软件园9号楼211室"}
  100. {"index":{"_id":5}}
  101. {"name":"tq","realname":"田七","age":35,"birthday":"2001-08-11","salary":1403.0,"address":"北京市海淀区西二旗地铁辉煌国际大厦负一楼"}
  102.  
  103.  
  104. ### 查看所有并按照年龄降序排列
  105. GET /zpark/user/_search
  106. {
  107. "query": {
  108. "match_all": {}
  109. },
  110. "sort": {
  111. "age": "desc"
  112. }
  113. }
  114.  
  115.  
  116. ### 查询第2页的用户(每页显示2条)
  117. GET /zpark/user/_search
  118. {
  119. "query": {
  120. "match_all": {}
  121. },
  122. "sort": {
  123. "age": "desc"
  124. },
  125. "from": 2,
  126. "size": 2
  127. }
  128.  
  129. ### 查询address在海淀区的所有用户,并高亮
  130. GET /zpark/user/_search
  131. {
  132. "query": {
  133. "match": {
  134. "address": {
  135. "analyzer": "ik_max_word",
  136. "query": "海淀区"
  137. }
  138. }
  139. },
  140. "highlight": {
  141. "fields": {
  142. "address": {}
  143. }
  144. }
  145. }
  146.  
  147. ### 设置索引分词器
  148. PUT /zpark
  149. {
  150. "settings" : {
  151. "index" : {
  152. "analysis.analyzer.default.type": "ik_smart"
  153. }
  154. }
  155. }
  156.  
  157. ### 查询name是zs关键字的用户
  158. GET /zpark/user/_search
  159. {
  160. "query":{
  161. "term": {
  162. "name": {
  163. "value": "zs"
  164. }
  165. }
  166. }
  167. }
  168.  
  169. ### 查询年龄在20~30岁之间的用户
  170. GET /zpark/user/_search
  171. {
  172. "query": {
  173. "range": {
  174. "age": {
  175. "gte": 20,
  176. "lte": 30
  177. }
  178. }
  179. }
  180. }
  181.  
  182. ### 查询真实姓名以李开头的用户
  183. GET /zpark/user/_search
  184. {
  185. "query": {
  186. "prefix": {
  187. "realname": {
  188. "value": "李"
  189. }
  190. }
  191. }
  192. }
  193.  
  194. ### 查询名字以s结尾的用户
  195. GET /zpark/user/_search
  196. {
  197. "query": {
  198. "wildcard": {
  199. "name": {
  200. "value": "*s"
  201. }
  202. }
  203. }
  204. }
  205.  
  206. ### 查询id为1,2,3的用户
  207. GET /zpark/user/_search
  208. {
  209. "query": {
  210. "ids": {
  211. "values": [1,2,3]
  212. }
  213. }
  214. }
  215.  
  216. ### 模糊查询realname中包含张关键字的用户
  217. GET /zpark/user/_search
  218. {
  219. "query": {
  220. "wildcard": {
  221. "realname": {"value": "*张*"}
  222. }
  223. }
  224. }
  225.  
  226.  
  227. ### 查询age在15-30岁之间并且name必须通配z*
  228. GET /zpark/user/_search
  229. {
  230. "query": {
  231. "bool": {
  232. "must": [
  233. {
  234. "range": {
  235. "age": {
  236. "gte": 15,
  237. "lte": 30
  238. }
  239. }
  240. },
  241. {
  242. "wildcard": {
  243. "name": {
  244. "value": "z*"
  245. }
  246. }
  247. }
  248. ],
  249. "must_not": [
  250. {
  251. "regexp": {
  252. "name": ".*s"
  253. }
  254. }
  255. ]
  256. }
  257. }
  258. }
  259.  
  260. ############# 过滤器(Filter)
  261. ### 其实准确来说,ES中的查询操作分为2种:查询(query)和过滤(filter)。查询即是之前提到的query查询,它(查询)默认会计算每个返回文档的得分,然后根据得分排序。而过滤(filter)只会筛选出符合的文档,并不计算得分,且它可以缓存文档。所以,单从性能考虑,过滤比查询更快。
  262.  
  263. ### 换句话说,过滤适合在大范围筛选数据,而查询则适合精确匹配数据。一般应用时,应先使用过滤操作过滤数据,然后使用查询匹配数据。
  264.  
  265. ### 过滤器使用 ranage filter
  266. GET /zpark/user/_search
  267. {
  268. "query":{
  269. "bool": {
  270. "must": [
  271. {"match_all": {}}
  272. ],
  273. "filter": {
  274. "range": {
  275. "age": {
  276. "gte": 25
  277. }
  278. }
  279. }
  280. }
  281. }
  282. }
  283.  
  284. ### term、terms Filter term、terms的含义与查询时一致。term用于精确匹配、terms用于多词条匹配
  285. GET /zpark/user/_search
  286. {
  287. "query":{
  288. "bool": {
  289. "must": [
  290. {"match_all": {}}
  291. ],
  292. "filter": {
  293. "terms": {
  294. "name": [
  295. "zs",
  296. "ls"
  297. ]
  298. }
  299. }
  300. }
  301. }
  302. }
  303.  
  304. ### exists filter exists过滤指定字段没有值的文档
  305. GET /zpark/user/_search
  306. {
  307. "query": {
  308. "bool": {
  309. "must": [
  310. {
  311. "match_all": {}
  312. }
  313. ],
  314. "filter": {
  315. "exists": {
  316. "field": "salary"
  317. }
  318. }
  319. }
  320. },
  321. "sort": [
  322. {
  323. "_id": {
  324. "order": "asc"
  325. }
  326. }
  327. ]
  328. }
  329.  
  330.  
  331. ### ids filter 需要过滤出若干指定_id的文档,可使用标识符过滤器(ids)
  332. GET /zpark/user/_search
  333. {
  334. "query": {
  335. "bool": {
  336. "must": [
  337. {
  338. "match": {
  339. "address": "昌平区"
  340. }
  341. }
  342. ],
  343. "filter": {
  344. "ids": {
  345. "values": [
  346. 1,
  347. 2,
  348. 3
  349. ]
  350. }
  351. }
  352. }
  353. },"highlight": {
  354. "fields": {
  355. "address": {}
  356. }
  357. }
  358. }
  359.  
  360. #############聚合(Aggregations)
  361. ### 度量(metric)聚合
  362. POST /zpark/user/_search
  363. {
  364. "aggs": {
  365. "age_avg": {
  366. "avg": {"field": "age"}
  367. }
  368. }
  369. }
  370.  
  371. ### 先过滤,再进行统计,如:
  372. POST /zpark/user/_search
  373. { "query": {
  374. "ids": {
  375. "values":[1,2,3]
  376. }
  377. },
  378. "aggs": {
  379. "age_avg": {
  380. "avg": {"field": "age"}
  381. }
  382. }
  383. }
  384.  
  385. ### 最大值查询。如:查询员工的最高工资
  386. POST /zpark/user/_search
  387. {
  388. "aggs": {
  389. "max_salary": {
  390. "max": {
  391. "field": "salary"
  392. }
  393. }
  394. }
  395. }
  396.  
  397. ### 统计查询,一次性统计出某个字段上的常用统计值
  398. POST /zpark/user/_search
  399. {
  400. "aggs": {
  401. "max_salary": {
  402. "stats": {
  403. "field": "salary"
  404. }
  405. }
  406. }
  407. }
  408.  
  409. ### 桶(bucketing)聚合 自定义区间范围的聚合,我们可以自己手动地划分区间,ES会根据划分出来的区间将数据分配不同的区间上去。
  410. ### 统计0-20岁,20-35岁,35~60岁用户人数
  411. POST /zpark/user/_search
  412. {
  413. "aggs": {
  414. "age_ranges": {
  415. "range": {
  416. "field": "age",
  417. "ranges": [
  418. {
  419. "from": 0,
  420. "to": 20
  421. },
  422. {
  423. "from": 20,
  424. "to": 35
  425. },
  426. {
  427. "from": 35,
  428. "to": 60
  429. }
  430. ]
  431. }
  432. }
  433. }
  434. }
  435.  
  436. ### 根据年龄分组,统计相同年龄的用户
  437. POST /zpark/user/_search
  438. {
  439. "aggs": {
  440. "age_counts":{
  441. "terms": {
  442. "field": "age",
  443. "size": 2
  444. }
  445. }
  446. }
  447. }
  448.  
  449. ### 时间区间聚合专门针对date类型的字段,它与Range Aggregation的主要区别是其可以使用时间运算表达式。
  450.  
  451. ### now+10y:表示从现在开始的第10年。
  452. ### now+10M:表示从现在开始的第10个月。
  453. ### 1990-01-10||+20y:表示从1990-01-01开始后的第20年,即2010-01-01。
  454. ### now/y:表示在年位上做舍入运算。
  455. ### 统计生日在2018年、2017年、2016年的用户
  456. POST /zpark/user/_search
  457. {
  458. "aggs": {
  459. "date_counts": {
  460. "date_range": {
  461. "field": "birthday",
  462. "format": "yyyy-MM-dd",
  463. "ranges": [
  464. {
  465. "from": "now/y",
  466. "to": "now"
  467. },
  468. {
  469. "from": "now/y-1y",
  470. "to":"now/y"
  471. },
  472. {
  473. "from": "now/y-2y",
  474. "to":"now/y-1y"
  475. }
  476. ]
  477. }
  478. }
  479. }
  480. }
  481.  
  482. ### 嵌套使用
  483. ### 聚合操作是可以嵌套使用的。通过嵌套,可以使得metric类型的聚合操作作用在每一bucket上。我们可以使用ES的嵌套聚合操作来完成稍微复杂一点的统计功能。
  484.  
  485. ### 如:统计每年中用户的最高工资
  486. POST /zpark/user/_search
  487. {
  488. "aggs": {
  489. "date_histogram": {
  490. "date_histogram": {
  491. "field": "birthday",
  492. "interval": "year",
  493. "format": "yyyy-MM-dd"
  494. },
  495. "aggs": {
  496. "salary_max": {
  497. "max": {
  498. "field": "salary"
  499. }
  500. }
  501. }
  502. }
  503. }
  504. }

到此这篇关于windows 环境下搭建electricSearch+kibana的文章就介绍到这了,更多相关windows 环境搭建electricSearch+kibana内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号