Search/Facet is a service within DiscoverItem that is used to retrieve facets for an active search.
HTTP Method: GET
HTTP Method: POST
HTTP Header Content-Type: "application/json"
HTTP Header User-Agent: ${user-agent}
Standard HTTP clients (browser, HTTP client libraries, etc.) will automatically include its User-Agent value.
Search URL:
https://HOSTNAME/di/search/facet
| Parameter Name | Definition | Required/Optional/etc. | Notes |
|---|---|---|---|
| aid | A valid authorization ID | Required | Refer to authentication service for details. |
| query | A valid Common Command Language - CCL (ISO 8777) query | Required |
Refer to constructing CCL query for details Use the same value for aid and query as used when calling the search service |
| num | The number of values for each facet | Optional | If not provided, the default value of 15 will be used |
| name | The facet to retrieve | Optional |
If not provided then all facets will be returned Valid values:
|
{
"Catalog":[
{
"Name":"CatalogA"
},
{
"Name":"CatalogB"
},
{
"Name":"..."
}
]
}
https://HOSTNAME/di/search/facet?aid=12knsfd987234ldfd2&query=ti%3D%22The%20Stranger%22%20and%20au%3D%22Albert%22%20and%20au%3D%22Camus%22
Retrieve 15 (default) facet values for all facets for a search for The Stranger by Albert Camus.
https://HOSTNAME/di/search/facet?aid=12knsfd987234ldfd2&query=ti%3D%22The%20Stranger%22%20and%20au%3D%22Albert%22%20and%20au%3D%22Camus%22n um=10
Retrieve 10 facet values for all facets for a search for The Stranger by Albert Camus.
https://HOSTNAME/di/search/facet?aid=12knsfd987234ldfd2&query=ti%3D%22The%20Stranger%22%20and%20au%3D%22Albert%22%20and%20au%3D%22Camus%22& num=20&name=date&name=medium
Retrieve 20 facet values for date and medium facets for a search for The Stranger by Albert Camus.
The response from this service is a JSON document.
The following is a sample response for a successful request (HTTP status 200 OK):
{
"ActiveCatalog":0,
"Facet":[
{
"Name":"author",
"Entry":[
{
"Value:"Author Name",
"Frequency":0
}
]
},
{
"Name":"date",
"Entry":[
{
"Value":"Publication Date"
"Frequency":0
}
]
},
{
"Name":"medium"
"Entry":[
{
"Value":"Medium"
"Frequency":18
}
]
},
{
"Name":"subject",
"Entry":[
{
"Value":"Subject",
"Frequency":0
}
]
},
{
"Name":"catalog",
"Entry":[
{
"Value":"Catalog Name",
"ItemCount":0
}
]
}
]
}
| Value Name | Definition |
|---|---|
| ActiveCatalog | An integer value indicating the number of catalogs being actively searched. A value of 0 means that the search is complete. |
| Facet[n].Entry[n[.Frequency | An integer value indicating the number of items with the same facet value. |
| Facet["catalog"].Entry[n].ItemCount | An integer value indicating the number of items from that catalog. |
The following is a sample response for an unsuccessful request.
{
"Problem"; {
"Code":"PUBHG004",
"Message":"Inactive search"
}
}
| HTTP Status | Code | Type | Message |
|---|---|---|---|
| 400 Bad Request | PUBSC002, PUBHG001 | Public | Missing parameter |
| 400 Bad Request | PUBSC003 | Public | Invalid parameter |
| 401 Unauthorized | PUBSC004 | Public | Invalid aid |
| 401 Unauthorized | PUBSC006 | Public | User group not authorized to access the service |
| 404 Not Found | PUBHG005 | Public | No result |
| 412 Precondition Failed | PUBHG004 | Public | Inactive search |
| 500 Internal Server Error | PRISC001, PRIHG001 | Private | Internal error |