|
|
Line 1: |
Line 1: |
− | === Search helper ===
| + | The search resource provides a full text search over all the available resources. |
| | | |
| + | * <code>https://api.example.com/v1/search?q=fluffy+dragon</code>. |
| | | |
− | For full text search over all the available resources visit [[stoney core: Search Resource - REST API]].
| + | * Minimum number of characters are 3. |
− | | + | |
− | | + | |
− | We want to provide an omni-search/ElasticSearch style search function and the most flexible approach is by doing the search completely on the server-side.
| + | |
− | | + | |
− | Therefore we are gonna copy the leader in search and define the URL for searching this way (see [https://blog.apigee.com/detail/restful_api_design_tips_for_search]):
| + | |
− | | + | |
− | <code>https://api.example.com/v1/search?q=fluffy+dragon</code>.
| + | |
− | | + | |
− | We already have a generic [[#Filtering.2C_sorting_and_searching|full-text search]] mechanism defined for all resources. Why not use the same mechanism but apply it on the root resource (<code>https://api.example.com/v1/?q=fluffy+dragon</code>), this way we don't have to break the REST principal (method versus resource). The search will then return simple JSON objects with a type and a location URI. The actual resources on which to apply the search filter, will be defined on the server side --[[User:Chrigu|Chrigu]] ([[User talk:Chrigu|talk]]) 15:24, 16 December 2013 (CET)
| + | |
− | | + | |
− | Full test
| + | |
− | Reseller search example: <code>https://api.example.com/v1/resellers/?q=fluffy+dragon</code>. TBD. Diese Variante beschreiben.
| + | |
− | | + | |
| * number of entries returned '''per''' object type: | | * number of entries returned '''per''' object type: |
| ** default: 5 | | ** default: 5 |
Revision as of 17:41, 9 January 2014
The search resource provides a full text search over all the available resources.
- Minimum number of characters are 3.
- number of entries returned per object type:
- default: 5
- max (can be raised by appropriate get parameters): 15
{
"resellers":
{
"resources":
[
{ "id": 4000000, ... },
{ "id": 4000001, ... }
],
"location": "https://api.selfcare.com/v1/resellers/?q=fluffy+dragon"
},
"customers":
{
"resources":
[
{ "id": 5000000, ... },
{ "id": 5000001, ... }
],
"location": "https://api.selfcare.com/v1/customers/?q=fluffy+dragon"
},
...
}
Last modified on 9 January 2014, at 17:41