Edurep:Jsonsearch: verschil tussen versies
k (→Request) |
(→Request: add paginering) |
||
Regel 34: | Regel 34: | ||
'''voorbeeld''' |
'''voorbeeld''' |
||
* <nowiki>https://wszoeken.edurep.kennisnet.nl/jsonsearch?query=fiets&facet=schema:license</nowiki> |
* <nowiki>https://wszoeken.edurep.kennisnet.nl/jsonsearch?query=fiets&facet=schema:license</nowiki> |
||
+ | |||
+ | === Paginering === |
||
+ | {{:Edurep:Zoekopdracht/Paginering}} |
||
+ | {{:Edurep:Zoekopdracht/Paginering/Jsonsearch}} |
||
== Response == |
== Response == |
Versie van 11 okt 2021 06:17
Vanwege de aankomende release zijn we bezig het voorbereiden van de wiki. Met name de informatie rondom schema.org en de jsonsearch is nog niet bruikbaar op productie. |
Met het jsonsearch endpoint worden Edurep responses in JSON format geleverd.
Endpoints
- productie: https://wszoeken.edurep.kennisnet.nl/jsonsearch
- staging: https://staging.edurep.kennisnet.nl/jsonsearch
Request
argument | # | omschrijving |
---|---|---|
query | 1 | CQL zoekopdracht |
page-size | 0-1 | aantal resultaten per pagina, max 100 |
page | 0-1 | pagina van resultatenset |
facet | 0-* | veld om drilldown op uit te voeren |
voorbeeld
- https://wszoeken.edurep.kennisnet.nl/jsonsearch?query=fiets&facet=schema:license
Paginering
Edurep resultaten worden gepagineerd aangeboden. Standaard worden de eerste 10 teruggegeven, en het is met parameters mogelijk om de verschillende pagina's van de totale resultatenset op te halen (tot een maximum van 4000). Bij een startRecord hoger, wordt een foutmelding meegegeven, maar wordt de laatste pagina getoond (alsof de startRecord gelijk is aan 4000).
Paginering in jsonsearch werkt via de volgende argumenten:
- page
- page-size
Met page-size kan het aantal resultaten per pagina worden ingesteld, en met page wordt aangegeven welke pagina van de totale resultatenset wordt teruggegeven.
/jsonsearch: query=*&page-size=20&page=2 |
Response
veld | # | beschrijving |
---|---|---|
/response | 1 | response containter |
/response/total | 1 | aantal records van totale respons |
/response/items | 0-1 | lijst met response records |
/response/facets | 1 | facets container |
/response/facets/<facetid> | 0-* | voor elke opgevraagde valide facet een container met de facet waarden |
/response/facets/<facetid>/count | 1 | aantal keer dat facet waarde voorkomt in resultatenset |
/response/facets/<facetid>/link | 1 | directe link naar query op facet waarde |
/response/facets/<facetid>/link | 1 | de individuele facet waarde |
/response/next | 0-1 | container met informatie over volgende pagina |
/response/next/link | 1 | directe link naar volgende pagina |
/response/next/page | 1 | nummer van volgende pagina |
/response/previous | 0-1 | container met informatie over vorige pagina |
/response/previous/link | 1 | directe link naar vorige pagina |
/response/previous/page | 1 | nummer van vorige pagina |
/response/querytimes | 1 | querytimes container |
/request | 1 | request container |
/request/query | 1 | gestelde query |
/request/page-size | 0-1 | gevraagd aantal resultaten per pagina |
/request/page | 0-1 | gevraagde paginanummer |
/request/facet | 0-1 | container met opgevraagde facets |
/request/facet/index | 1 | individuele gevraagde facet waarde |
/request/facet/max-terms | 1 | opgevraagde maximum aantal waarden voor facet waarde |
/version | 1 | api versie |
voorbeeld
{
"response": {
"total": 763,
"items": [
{}, {}
],
"facets": {
"example:facet1": [
{
"count": 212,
"link": "/jsonsearch?facet=schema%3Alicense&facet=dcterms%3Apublisher%3A40&facet-filter=example%facet1%3Dvalue1&page-size=1&query=fiets",
"value": "value1"
}
],
"example:facet2": [
{
"count": 213,
"link": "/jsonsearch?facet=schema%3Alicense&facet=dcterms%3Apublisher%3A40&facet-filter=example%3Afacet2%3DvalueX&page-size=1&query=fiets",
"value": "valueX"
}
]
},
"querytimes": {
"handlingTime": 0.328,
"indexTime": 0.015,
"queryTime": 0.021
},
"next": {
"link": "/jsonsearch?facet=example%3Afacet1&facet=example%3Afacet2%3A40&page=4&page-size=1&query=fiets",
"page": 4
},
"previous": {
"link": "/jsonsearch?facet=example%3Afacet1&facet=example%3Afacet2%3A40&page=2&page-size=1&query=fiets",
"page": 2
}
},
"request": {
"facet": [
{
"index": "example:facet1",
"max-terms": 1
},
{
"index": "example:facet2",
"max-terms": 1
}
],
"page-size": 1,
"page": 3,
"query": "fiets"
},
"version": "0.1.beta"
}
Foutmeldingen
Een foutmelding uit de jsonsearch is te herkennen aan de "error" key in de response.
Voorbeeld
{
"error": {
"message": "Missing required argument: 'query'",
"type": "MissingArgument"
},
"version": "0.1.beta"
}
Foutcodes
type | omschrijving |
---|---|
MissingArgument | een vereist argument ontbreekt in het verzoek |
Veldenlijst
zoekveld | x-term-drilldown | sortKeys | <, <=, >=, > | exact |
---|---|---|---|---|
schema:name | ||||
schema:identifier | V |
Zie ook
- onderdeel van: Leermateriaal Metadata Opvragen
- vergelijkbare interfaces: SRU interface
- verdiepend: Veldenlijst, Schema.org