Difference between revisions of "stoney core: Search Resource - REST API"

From stoney cloud
Jump to: navigation, search
[unchecked revision][unchecked revision]
(Search helper)
(Search helper)
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"
  },
  ...
}