This repository was archived by the owner on Nov 9, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
Range Management
hunterhacker edited this page Dec 16, 2011
·
11 revisions
A range allows you to perform queries over a range of values. For example, if you want to fetch all documents where the "published::date" is after 2011-01-01, you would add a range on the "published::date" key.
Creates a range in the database. Ranges can not share the same name as fields or mappings, they must be unique.
- Endpoint:
/manage/range/<range-name> - Request type: POST
- Paramaters: (note: must specify either a key, an element or both an element and an attribute)
- key (optional) - A JSON key to build the range on
- element (optional) - An XML element to build the range on
- attribute (optional) - An XML attribute to build the range on. Note: must specify the element that the attribute is on.
- type - The datatype for the range. Please see supported range datatypes for a list of valid types.
- collation - The collation to use for string range indexes.
- Returns:
- On success a 200 is returned with an empty response body
- If a range, field or mapping with this name already exists, a 400 is returned
- If parameters are missing or invalid, a 400 is returned
- Examples:
- /manage/range/date?key=published::date&type=date
- /manage/range/author?element=author_name&type=string
- /manage/range/author?element=article&attribute=author&type=string
To get a list of all the ranges that are configured, make a GET request to:
/manage/ranges
Returns information about how a range is configured.
- Endpoint:
/manage/range/<range-name> - Request type: GET
- Returns:
- If the range exists, a 200 is returned with the response body being a JSON document that describes the range configuration
- If the range does not exist, a 404 is returned
- Example:
- /manage/range/publication-date
{
"name": "date",
"key": "published::date",
"type": "date"
}
{
"name": "author",
"element": "article",
"attribute": "author",
"type": "string"
}
Deletes the range.
- Endpoint:
/manage/range/<range-name> - Request type: DELETE
- Returns:
- If the range was deleted, a 200 is returned with an empty response body.
- If the range does not exist, a 404 is returned
- Example:
- /manage/range/date
Add mention that if you have pre-configured range indexes, you can just tell Corona about them here to give them a name but there won't be any required reindexing.
Need to add discussion about what collation names are allowed.