redis/src/commands/geosearch.json

206 lines
7.1 KiB
JSON

{
"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
}
]
}
}