|  | @@ -121,6 +121,82 @@ POST /museums/_search?size=0
 | 
	
		
			
				|  |  |  // CONSOLE
 | 
	
		
			
				|  |  |  // TEST[continued]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +The geohashes returned by the `geohash_grid` aggregation can be also used for zooming in. To zoom into the
 | 
	
		
			
				|  |  | +first geohash `u17` returned in the previous example, it should be specified as both `top_left` and `bottom_right` corner:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +[source,js]
 | 
	
		
			
				|  |  | +--------------------------------------------------
 | 
	
		
			
				|  |  | +POST /museums/_search?size=0
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    "aggregations" : {
 | 
	
		
			
				|  |  | +        "zoomed-in" : {
 | 
	
		
			
				|  |  | +            "filter" : {
 | 
	
		
			
				|  |  | +                "geo_bounding_box" : {
 | 
	
		
			
				|  |  | +                    "location" : {
 | 
	
		
			
				|  |  | +                        "top_left" : "u17",
 | 
	
		
			
				|  |  | +                        "bottom_right" : "u17"
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            "aggregations":{
 | 
	
		
			
				|  |  | +                "zoom1":{
 | 
	
		
			
				|  |  | +                    "geohash_grid" : {
 | 
	
		
			
				|  |  | +                        "field": "location",
 | 
	
		
			
				|  |  | +                        "precision": 8
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +--------------------------------------------------
 | 
	
		
			
				|  |  | +// CONSOLE
 | 
	
		
			
				|  |  | +// TEST[continued]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +[source,js]
 | 
	
		
			
				|  |  | +--------------------------------------------------
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    ...
 | 
	
		
			
				|  |  | +    "aggregations" : {
 | 
	
		
			
				|  |  | +        "zoomed-in" : {
 | 
	
		
			
				|  |  | +            "doc_count" : 3,
 | 
	
		
			
				|  |  | +            "zoom1" : {
 | 
	
		
			
				|  |  | +                "buckets" : [
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        "key" : "u173zy3j",
 | 
	
		
			
				|  |  | +                        "doc_count" : 1
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        "key" : "u173zvfz",
 | 
	
		
			
				|  |  | +                        "doc_count" : 1
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        "key" : "u173zt90",
 | 
	
		
			
				|  |  | +                        "doc_count" : 1
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                ]
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +--------------------------------------------------
 | 
	
		
			
				|  |  | +// TESTRESPONSE[s/\.\.\./"took": $body.took,"_shards": $body._shards,"hits":$body.hits,"timed_out":false,/]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +For "zooming in" on the system that don't support geohashes, the bucket keys should be translated into bounding boxes using
 | 
	
		
			
				|  |  | +one of available geohash libraries. For example, for javascript the https://github.com/sunng87/node-geohash[node-geohash] library
 | 
	
		
			
				|  |  | +can be used:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +[source,js]
 | 
	
		
			
				|  |  | +--------------------------------------------------
 | 
	
		
			
				|  |  | +var geohash = require('ngeohash');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// bbox will contain [ 52.03125, 4.21875, 53.4375, 5.625 ]
 | 
	
		
			
				|  |  | +//                   [   minlat,  minlon,  maxlat, maxlon]
 | 
	
		
			
				|  |  | +var bbox = geohash.decode_bbox('u17');
 | 
	
		
			
				|  |  | +--------------------------------------------------
 | 
	
		
			
				|  |  | +// NOTCONSOLE
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  ==== Cell dimensions at the equator
 | 
	
		
			
				|  |  |  The table below shows the metric dimensions for cells covered by various string lengths of geohash.
 | 
	
		
			
				|  |  |  Cell dimensions vary with latitude and so the table is for the worst-case scenario at the equator.
 |