iprange-aggregation.asciidoc 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. [[search-aggregations-bucket-iprange-aggregation]]
  2. === IP Range Aggregation
  3. Just like the dedicated <<search-aggregations-bucket-daterange-aggregation,date>> range aggregation, there is also a dedicated range aggregation for IP typed fields:
  4. Example:
  5. [source,js]
  6. --------------------------------------------------
  7. {
  8. "aggs" : {
  9. "ip_ranges" : {
  10. "ip_range" : {
  11. "field" : "ip",
  12. "ranges" : [
  13. { "to" : "10.0.0.5" },
  14. { "from" : "10.0.0.5" }
  15. ]
  16. }
  17. }
  18. }
  19. }
  20. --------------------------------------------------
  21. Response:
  22. [source,js]
  23. --------------------------------------------------
  24. {
  25. ...
  26. "aggregations": {
  27. "ip_ranges": {
  28. "buckets" : [
  29. {
  30. "to": "10.0.0.5",
  31. "doc_count": 4
  32. },
  33. {
  34. "from": "10.0.0.5",
  35. "doc_count": 6
  36. }
  37. ]
  38. }
  39. }
  40. }
  41. --------------------------------------------------
  42. IP ranges can also be defined as CIDR masks:
  43. [source,js]
  44. --------------------------------------------------
  45. {
  46. "aggs" : {
  47. "ip_ranges" : {
  48. "ip_range" : {
  49. "field" : "ip",
  50. "ranges" : [
  51. { "mask" : "10.0.0.0/25" },
  52. { "mask" : "10.0.0.127/25" }
  53. ]
  54. }
  55. }
  56. }
  57. }
  58. --------------------------------------------------
  59. Response:
  60. [source,js]
  61. --------------------------------------------------
  62. {
  63. "aggregations": {
  64. "ip_ranges": {
  65. "buckets": [
  66. {
  67. "key": "10.0.0.0/25",
  68. "from": "10.0.0.0",
  69. "to": "10.0.0.127",
  70. "doc_count": 127
  71. },
  72. {
  73. "key": "10.0.0.127/25",
  74. "from": "10.0.0.0",
  75. "to": "10.0.0.127",
  76. "doc_count": 127
  77. }
  78. ]
  79. }
  80. }
  81. }
  82. --------------------------------------------------