{ "GEOSEARCH": { "summary": "Query a sorted set representing a geospatial index to fetch members inside an area of a box or a circle.", "complexity": "O(N+log(M)) where N is the number of elements in the grid-aligned bounding box area around the shape provided as the filter and M is the number of items inside the shape", "group": "geo", "since": "6.2.0", "arity": -7, "function": "geosearchCommand", "command_flags": [ "READONLY" ], "acl_categories": [ "GEO" ], "key_specs": [ { "flags": [ "RO", "ACCESS" ], "begin_search": { "index": { "pos": 1 } }, "find_keys": { "range": { "lastkey": 0, "step": 1, "limit": 0 } } } ], "arguments": [ { "name": "key", "type": "key", "key_spec_index": 0 }, { "name": "from", "type": "oneof", "arguments": [ { "token": "FROMMEMBER", "name": "member", "type": "string" }, { "token": "FROMLONLAT", "name": "longitude_latitude", "type": "block", "arguments": [ { "name": "longitude", "type": "double" }, { "name": "latitude", "type": "double" } ] } ] }, { "name": "by", "type": "oneof", "arguments": [ { "name": "circle", "type": "block", "arguments": [ { "token": "BYRADIUS", "name": "radius", "type": "double" }, { "name": "unit", "type": "oneof", "arguments": [ { "name": "m", "type": "pure-token", "token": "m" }, { "name": "km", "type": "pure-token", "token": "km" }, { "name": "ft", "type": "pure-token", "token": "ft" }, { "name": "mi", "type": "pure-token", "token": "mi" } ] } ] }, { "name": "box", "type": "block", "arguments": [ { "token": "BYBOX", "name": "width", "type": "double" }, { "name": "height", "type": "double" }, { "name": "unit", "type": "oneof", "arguments": [ { "name": "m", "type": "pure-token", "token": "m" }, { "name": "km", "type": "pure-token", "token": "km" }, { "name": "ft", "type": "pure-token", "token": "ft" }, { "name": "mi", "type": "pure-token", "token": "mi" } ] } ] } ] }, { "name": "order", "type": "oneof", "optional": true, "arguments": [ { "name": "asc", "type": "pure-token", "token": "ASC" }, { "name": "desc", "type": "pure-token", "token": "DESC" } ] }, { "name": "count", "type": "block", "optional": true, "arguments": [ { "token": "COUNT", "name": "count", "type": "integer" }, { "name": "any", "token": "ANY", "type": "pure-token", "optional": true } ] }, { "name": "withcoord", "token": "WITHCOORD", "type": "pure-token", "optional": true }, { "name": "withdist", "token": "WITHDIST", "type": "pure-token", "optional": true }, { "name": "withhash", "token": "WITHHASH", "type": "pure-token", "optional": true } ] } }