77 lines
1.5 KiB
Markdown
77 lines
1.5 KiB
Markdown
---
|
|
layout: default
|
|
title: IP range
|
|
parent: Bucket aggregations
|
|
grand_parent: Aggregations
|
|
nav_order: 110
|
|
redirect_from:
|
|
- /query-dsl/aggregations/bucket/ip-range/
|
|
---
|
|
|
|
# IP range aggregations
|
|
|
|
The `ip_range` aggregation is for IP addresses.
|
|
It works on `ip` type fields. You can define the IP ranges and masks in the [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation.
|
|
|
|
```json
|
|
GET opensearch_dashboards_sample_data_logs/_search
|
|
{
|
|
"size": 0,
|
|
"aggs": {
|
|
"access": {
|
|
"ip_range": {
|
|
"field": "ip",
|
|
"ranges": [
|
|
{
|
|
"from": "1.0.0.0",
|
|
"to": "126.158.155.183"
|
|
},
|
|
{
|
|
"mask": "1.0.0.0/8"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
{% include copy-curl.html %}
|
|
|
|
#### Example response
|
|
|
|
```json
|
|
...
|
|
"aggregations" : {
|
|
"access" : {
|
|
"buckets" : [
|
|
{
|
|
"key" : "1.0.0.0/8",
|
|
"from" : "1.0.0.0",
|
|
"to" : "2.0.0.0",
|
|
"doc_count" : 98
|
|
},
|
|
{
|
|
"key" : "1.0.0.0-126.158.155.183",
|
|
"from" : "1.0.0.0",
|
|
"to" : "126.158.155.183",
|
|
"doc_count" : 7184
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
If you add a document with malformed fields to an index that has `ip_range` set to `false` in its mappings, OpenSearch rejects the entire document. You can set `ignore_malformed` to `true` to specify that OpenSearch should ignore malformed fields. The default is `false`.
|
|
|
|
```json
|
|
...
|
|
"mappings": {
|
|
"properties": {
|
|
"ips": {
|
|
"type": "ip_range",
|
|
"ignore_malformed": true
|
|
}
|
|
}
|
|
}
|
|
``` |