当前位置:   article > 正文

ES-Kibana操作_kibana 请求大全

kibana 请求大全
  1. #Kibana基本语法格式
  2. [`请求方式`] [`索引`] / [`type`] / [`查询关键词`]
  3. {
  4. "query": {
  5. // 查询体
  6. }
  7. }
  8. #获取所有索引
  9. GET _cat/indices
  10. #删除索引
  11. DELETE book
  12. #创建索引
  13. PUT book
  14. #批量创建文档
  15. 方式一:
  16. POST jk/_bulk
  17. {"index":{"_type":"doc","_id":"1001"}}
  18. {"name":"张三","age":20}
  19. {"index":{"_type":"doc","_id":"1002"}}
  20. {"name":"李四","age":23}
  21. {"index":{"_type":"doc","_id":"1003"}}
  22. {"name":"王五","age":26}
  23. 方式二:
  24. POST kpl/_doc/_bulk
  25. {"index":{"_id":"1001"}}
  26. {"name":"张三","age":20}
  27. {"index":{"_id":"1002"}}
  28. {"name":"李四","age":23}
  29. {"index":{"_id":"1003"}}
  30. {"name":"王五","age":26}
  31. #创建索引并完成映射,设置字段属性 "index":false 效果为不能作为查询条件;keyword类型则不能分词,既数据本体为一整体,不能拆分
  32. PUT book
  33. {"mapping":
  34. {
  35. "properties":{
  36. "name":{
  37. "type":"text",
  38. "index":true
  39. },
  40. "city":{
  41. "type":"keyword",
  42. "index":true
  43. },
  44. "age":{
  45. "type":"long",
  46. "index":true
  47. },
  48. "description":{
  49. "type":"text",
  50. "index":true
  51. }
  52. }
  53. }
  54. }
  55. }
  56. #查找索引映射设置
  57. GET book/_mapping
  58. #创建文档,若无索引,则会直接创建索引
  59. PUT book/_doc/1001
  60. {
  61. "name":"张三",
  62. "city":"成都",
  63. "age":30,
  64. "description":"张三是美籍华人"
  65. }
  66. #获取具体文档
  67. GET book/_doc/1001
  68. #获取索引下所有文档
  69. GET book/_search
  70. #全量修改(完全覆盖修改)-输入啥就修改啥
  71. PUT book/_doc/1001
  72. {
  73. "name":"weilp"
  74. }
  75. #局部修改-改变特定字段,其它字段不变
  76. POST book/_update/1002
  77. {
  78. "doc":{
  79. "age":25
  80. }
  81. }
  82. #方法查询索引下所有文档
  83. GET book/_search
  84. {
  85. "query": {
  86. "match_all": {}
  87. }
  88. }
  89. #match相当于模糊匹配 对于"张李"这两个字会分开来进行倒排索引匹配,结果:name like '%张%'+ name like '%李%'+name like '%张李%'
  90. GET book/_search
  91. {
  92. "query": {
  93. "match": {
  94. "name": "张李"
  95. }
  96. }
  97. }
  98. #match_phrase精确匹配
  99. GET book/_search
  100. {
  101. "query": {
  102. "match_phrase": {
  103. "name": "张李"
  104. }
  105. }
  106. }
  107. #通配符匹配,*表示0个或任意多个字符,?表示一个字符,若text格式数据想要使用,则.keyword
  108. GET book/_search
  109. {
  110. "query": {
  111. "wildcard": {
  112. "description.keyword": {
  113. "value": "李四是中国人*
  114. }
  115. }
  116. }
  117. }
  118. #分页查询,from表示文档位置,从0开始。若想实现分页效果,则from取值(页码-1)*每页展示数量,如想看第二页,则from:2,size:2
  119. GET book/_search
  120. {
  121. "query": {
  122. "match_all": {}
  123. },
  124. "from": 1,
  125. "size": 2
  126. }
  127. #查询指定字段
  128. GET book/_search
  129. {
  130. "query":{
  131. "match": {
  132. "age": 30
  133. }
  134. },
  135. "_source":[
  136. "name","age","description"]
  137. }
  138. #排序
  139. GET book/_search
  140. {
  141. "sort": [
  142. {
  143. "age": {
  144. "order": "desc"
  145. }
  146. }
  147. ]
  148. }
  149. #多条件查询 must表示且,should表示或,must_not为不等(注:不可以进行两次query,match等操作,会报错)
  150. GET book/_search
  151. {
  152. "query": {
  153. "bool": {
  154. "must": [
  155. {"match": { "name": "张三"}},
  156. {"match": {"age": 30}}
  157. ]
  158. }
  159. }
  160. }
  161. #must_not为不等,效果为!(name=张三&&city=北京)
  162. GET book/_search
  163. {
  164. "query": {
  165. "bool": {
  166. "must_not": [
  167. {"match": {
  168. "name": "张三"
  169. }},
  170. {"match": {
  171. "city": "北京"
  172. }}
  173. ]
  174. }
  175. }
  176. }
  177. #范围查询
  178. GET book/_search
  179. {
  180. "query": {
  181. "range": {
  182. "age": {
  183. "gte": 10,
  184. "lte": 50
  185. }
  186. }
  187. }
  188. }
  189. #bool可以用来合并多个条件查询结果的布尔逻辑,条件之间为且的关系
  190. GET book/_search
  191. {
  192. "query": {
  193. "bool": {
  194. "must": [
  195. {"match": { "name": "张三"}}
  196. ],
  197. "filter": [
  198. {"range": {
  199. "age": {
  200. "gte": 10,
  201. "lte": 20
  202. }
  203. }}
  204. ]
  205. }
  206. }
  207. }
  208. #term用于keyword类型完全查询,当text类型数据想要使用term完全查询时,使用.keyword获取其keyword值
  209. GET book/_search
  210. {
  211. "query": {
  212. "term": {
  213. "description.keyword": {
  214. "value": "李四是中国人"
  215. }
  216. }
  217. }
  218. }
  219. #terms查询多个keyword值,当text类型数据想要使用term完全查询时,使用.keyword获取其keyword值
  220. GET book/_search
  221. {
  222. "query": {
  223. "terms": {
  224. "description.keyword": [
  225. "张三是美籍华人",
  226. "李四是中国人"
  227. ]
  228. }
  229. }
  230. }
  231. #query_string具有分词效果,可用来分解查询条件,可以","或者"|"分割,注:query_string可以没有default_field的值
  232. GET book/_search
  233. {
  234. "query": {
  235. "query_string": {
  236. "default_field": "city",
  237. "query": "北京,上海"
  238. }
  239. }
  240. }
  241. #exists,查询具有某个字段的数据
  242. GET book/_search
  243. {
  244. "query": {
  245. "exists": {
  246. "field": "name"
  247. }
  248. }
  249. }
  250. #高亮查询指定字段
  251. GET book/_search
  252. {
  253. "highlight": {
  254. "fields": {
  255. "name": {
  256. }
  257. }
  258. }
  259. }
  260. #聚合操作也叫分组操作,text字段作为一个整体,默认没有索引,不过text分词之后的keyword是有索引的,size可以指定分组数据展示的数量
  261. GET book/_search
  262. {
  263. "aggs": {
  264. "namegroup": {
  265. "terms": {
  266. "field": "name.keyword",
  267. "size": 3
  268. }
  269. }
  270. },"size": 0
  271. }
  272. #分组操作会统计分组数据和原始所有数据,如果不想要原始数据的话可以以下操作,size表示原始数据展示数量
  273. GET book/_search
  274. {
  275. "aggs": {
  276. "namegroup": {
  277. "terms": {
  278. "field": "name.keyword"
  279. }
  280. }
  281. },"size": 0
  282. }
  283. #求字段平均值
  284. GET book/_search
  285. {
  286. "aggs": {
  287. "age_avgs": {
  288. "avg": {
  289. "field": "age"
  290. }
  291. }
  292. },"size": 0
  293. }
  294. #multi_match,多个字段匹配某个值,query 要查询的值,fields 要匹配的字段【数组】,若要一个字段匹配多个值,用terms
  295. GET book/_search
  296. {
  297. "query": {
  298. "multi_match": {
  299. "query": 30,
  300. "fields": ["age","name"]
  301. }
  302. }
  303. }
  304. 组合条件查询,若想实现或则:must->bool->should
  305. GET nginx_logs/access/_search
  306. {
  307. "query": {
  308. "bool": {
  309. "must": [
  310. {
  311. "bool":{
  312. "should":[
  313. {"wildcard": {"status": "5*"}},
  314. {"terms": {"status": ["400","402","406"]}}
  315. ]
  316. }
  317. },
  318. {
  319. "range": {
  320. "time": {"gte":"2019-03-14 09:00:00","lte":"2019-03-14 15:30:00"}
  321. }
  322. }
  323. ]
  324. }
  325. },
  326. "size":100,
  327. "sort": [
  328. {
  329. "time": {
  330. "order": "desc"
  331. }
  332. }
  333. ]
  334. }
  335. 匹配出 状态值 status 满足以5开头 包含 400 402 406,并且日志时间time 在 >= 2019-03-14 09:00:00 && <= 2019-03-14 15:30:00 范围内,查询结果按照time 字段 desc 倒叙排列。 查询出100条。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/792755
推荐阅读
相关标签
  

闽ICP备14008679号