summaryrefslogtreecommitdiffstats
path: root/src/commands/georadius.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/georadius.json')
-rw-r--r--src/commands/georadius.json270
1 files changed, 270 insertions, 0 deletions
diff --git a/src/commands/georadius.json b/src/commands/georadius.json
new file mode 100644
index 0000000..6ced904
--- /dev/null
+++ b/src/commands/georadius.json
@@ -0,0 +1,270 @@
+{
+ "GEORADIUS": {
+ "summary": "Queries a geospatial index for members within a distance from a coordinate, optionally stores the result.",
+ "complexity": "O(N+log(M)) where N is the number of elements inside the bounding box of the circular area delimited by center and radius and M is the number of items inside the index.",
+ "group": "geo",
+ "since": "3.2.0",
+ "arity": -6,
+ "function": "georadiusCommand",
+ "get_keys_function": "georadiusGetKeys",
+ "history": [
+ [
+ "6.2.0",
+ "Added the `ANY` option for `COUNT`."
+ ],
+ [
+ "7.0.0",
+ "Added support for uppercase unit names."
+ ]
+ ],
+ "deprecated_since": "6.2.0",
+ "replaced_by": "`GEOSEARCH` and `GEOSEARCHSTORE` with the `BYRADIUS` argument",
+ "doc_flags": [
+ "DEPRECATED"
+ ],
+ "command_flags": [
+ "WRITE",
+ "DENYOOM"
+ ],
+ "acl_categories": [
+ "GEO"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RO",
+ "ACCESS"
+ ],
+ "begin_search": {
+ "index": {
+ "pos": 1
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": 0,
+ "step": 1,
+ "limit": 0
+ }
+ }
+ },
+ {
+ "flags": [
+ "OW",
+ "UPDATE"
+ ],
+ "begin_search": {
+ "keyword": {
+ "keyword": "STORE",
+ "startfrom": 6
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": 0,
+ "step": 1,
+ "limit": 0
+ }
+ }
+ },
+ {
+ "flags": [
+ "OW",
+ "UPDATE"
+ ],
+ "begin_search": {
+ "keyword": {
+ "keyword": "STOREDIST",
+ "startfrom": 6
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": 0,
+ "step": 1,
+ "limit": 0
+ }
+ }
+ }
+ ],
+ "arguments": [
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0
+ },
+ {
+ "name": "longitude",
+ "type": "double"
+ },
+ {
+ "name": "latitude",
+ "type": "double"
+ },
+ {
+ "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": "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
+ },
+ {
+ "name": "count-block",
+ "type": "block",
+ "optional": true,
+ "arguments": [
+ {
+ "token": "COUNT",
+ "name": "count",
+ "type": "integer"
+ },
+ {
+ "name": "any",
+ "token": "ANY",
+ "type": "pure-token",
+ "optional": true,
+ "since": "6.2.0"
+ }
+ ]
+ },
+ {
+ "name": "order",
+ "type": "oneof",
+ "optional": true,
+ "arguments": [
+ {
+ "name": "asc",
+ "type": "pure-token",
+ "token": "ASC"
+ },
+ {
+ "name": "desc",
+ "type": "pure-token",
+ "token": "DESC"
+ }
+ ]
+ },
+ {
+ "name": "store",
+ "type": "oneof",
+ "optional": true,
+ "arguments": [
+ {
+ "token": "STORE",
+ "name": "storekey",
+ "display": "key",
+ "type": "key",
+ "key_spec_index": 1
+ },
+ {
+ "token": "STOREDIST",
+ "name": "storedistkey",
+ "display": "key",
+ "type": "key",
+ "key_spec_index": 2
+ }
+ ]
+ }
+ ],
+ "reply_schema": {
+ "description": "Array of matched members information",
+ "anyOf": [
+ {
+ "description": "If no WITH* option is specified, array of matched members names",
+ "type": "array",
+ "items": {
+ "description": "name",
+ "type": "string"
+ }
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 4,
+ "items": [
+ {
+ "description": "Matched member name",
+ "type": "string"
+ }
+ ],
+ "additionalItems": {
+ "oneOf": [
+ {
+ "description": "If WITHDIST option is specified, the distance from the center as a floating point number, in the same unit specified in the radius",
+ "type": "string"
+ },
+ {
+ "description": "If WITHHASH option is specified, the geohash integer",
+ "type": "integer"
+ },
+ {
+ "description": "If WITHCOORD option is specified, the coordinates as a two items x,y array (longitude,latitude)",
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": [
+ {
+ "description": "latitude (x)",
+ "type": "number"
+ },
+ {
+ "description": "longitude (y)",
+ "type": "number"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "description": "number of items stored in key",
+ "type": "integer"
+ }
+ ]
+ }
+ }
+}