From 459290ec148f43a2623f52102b64d42673eec157 Mon Sep 17 00:00:00 2001
From: Aivaras Gotovskis <aivaras.gotovskis@ongr.io>
Date: Fri, 10 Jul 2015 12:05:12 +0300
Subject: [PATCH] Add global Ipv4Range doc.

---
 docs/Aggregation/Ipv4Range.md | 74 +++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
 create mode 100644 docs/Aggregation/Ipv4Range.md

diff --git a/docs/Aggregation/Ipv4Range.md b/docs/Aggregation/Ipv4Range.md
new file mode 100644
index 0000000..215d91c
--- /dev/null
+++ b/docs/Aggregation/Ipv4Range.md
@@ -0,0 +1,74 @@
+# Ipv4 Range Aggregation
+
+> More info about ipv4 range aggregation is in the [official elasticsearch docs][1]
+
+Just like the dedicated date range aggregation, there is also a dedicated
+range aggregation for IPv4 typed fields.
+
+## Simple example
+
+```JSON
+{
+    "aggregations" : {
+        "agg_ip_range" : {
+            "ip_range" : {
+                "field" : "ip",
+                "ranges" : [
+                    { "to" : "10.0.0.5" },
+                    { "from" : "10.0.0.5" }
+                ]
+            }
+        }
+    }
+}
+```
+
+And now the query via DSL:
+
+```php
+$ipv4RangeAggregation = new Ipv4RangeAggregation(
+    'ip_range',
+    'ip',
+    [
+        ['to' => '10.0.0.5'],
+        ['from' => '10.0.0.5'],
+    ]
+);
+
+$search = new Search();
+$search->addAggregation($ipv4RangeAggregation);
+
+$queryArray = $search->toArray();
+```
+
+## Example using masks
+
+```php
+$ipv4RangeAggregation = new Ipv4RangeAggregation(
+    'ip_range',
+    'ip',
+    ['10.0.0.0/25']
+);
+
+$search = new Search();
+$search->addAggregation($ipv4RangeAggregation);
+
+$queryArray = $search->toArray();
+```
+
+## Example using adders
+
+```php
+$ipv4RangeAggregation = new Ipv4RangeAggregation('ip_range', 'ip');
+$ipv4RangeAggregation->addMask('10.0.0.0/25');
+$ipv4RangeAggregation->addRange(null, '10.0.0.5');
+$ipv4RangeAggregation->addRange('10.0.0.5');
+$ipv4RangeAggregation->addRange('10.0.0.0', '10.0.0.127');
+
+$search = new Search();
+$search->addAggregation($ipv4RangeAggregation);
+
+$queryArray = $search->toArray();
+```
+
+[1]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-iprange-aggregation.html
-- 
GitLab