CS:Entry SearchRetrieve: verschil tussen versies
(→Argumenten: transclude paginering) |
(remove example request) |
||
Regel 71: | Regel 71: | ||
{{:Edurep:Zoekopdracht/Paginering}} |
{{:Edurep:Zoekopdracht/Paginering}} |
||
{{:Edurep:Zoekopdracht/Paginering/SRU}} |
{{:Edurep:Zoekopdracht/Paginering/SRU}} |
||
− | |||
− | == Voorbeeld SRU-Verzoek == |
||
− | <nowiki>https://catalogusservice.edurep.nl/sru?query=boek&startRecord=1&maximumRecords=5</nowiki> |
||
== Voorbeeld Respons == |
== Voorbeeld Respons == |
Versie van 20 okt 2021 09:50
Catalogus Service entry data kan worden opgevraagd via een SRU, gebruik makend van de CQL query taal. Op deze pagina staat een overzicht van de specifieke implementatie van SRU. Er is ook een aparte pagina met een overzicht van alle zoekvelden.
Endpoint
- SRU Productie: https://catalogusservice.edurep.nl/sru
- SRU Staging: https://staging.catalogusservice.edurep.nl/sru
Argumenten
Een overzicht van de ondersteunde argumenten.
Het wordt sterk geadviseerd om altijd het recordSchema argument te gebruiken met een versie. |
naam | # | type | omschrijving |
---|---|---|---|
query | 1 | cql query | Een zoekopdracht binnen LOM records Lees meer. |
startRecord | 0-1 | getal | De resultatenlijst wordt getoond vanaf dit record, standaard 1. |
maximumRecords | 0-1 | getal | Het aantal records in de getoonde resultatenlijst, standaard 10, max 100. |
recordSchema | 0-1 | tekst | De versie van het record wat wordt teruggegeven Lees meer. |
x-recordSchema | 0-* | tekst | Een extra type record wat kan worden meegegeven Lees meer. |
x-term-drilldown | 0-1 | edurep zoekveld | Het veld waarop een term drilldown wordt gedaan voor de gevonden resultaten Lees meer. |
sortKeys | 0-1 | edurep zoekveld | Het veld waarop gesorteerd moeten worden Lees meer. |
recordPacking | 0-1 | tekst | Het formaat waarin de resultatenlijst wordt teruggegeven Lees meer. |
operation | 0-1 | tekst | searchRetrieve |
version | 0-11 | tekst | 1.2 |
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 SRU werkt met de volgende argumenten:
- startRecord
- maximumRecords
Met maximumRecords kan het aantal resultaten per pagina worden ingesteld, en met startRecord wordt aangegeven wat het eerste record van de resultatenset is.
/edurep/sruns: query=feest&maximumRecords=20&startRecord=21 |
Catalogus Service: query=rekenen&maximumRecords=20&startRecord=21 |
Voorbeeld Respons
<srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/">
<srw:version>1.2</srw:version>
<srw:numberOfRecords>117</srw:numberOfRecords>
<srw:records>
<srw:record>
<srw:recordSchema>eckcs2.1.1</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordIdentifier>test:59</srw:recordIdentifier>
<srw:recordData>
<Entry xmlns="http://dt2.eck.nl/schema/catalogservice/v2.1.1" xmlns:ct="http://dt2.eck.nl/schema/common/v2.1">
<ProductId>59</ProductId>
<Publisher>Kennisnet</Publisher>
<PublisherThumbnailLocation>https://pbs.twimg.com/profile_images/638314278882140163/zWL5qqYc_400x400.png</PublisherThumbnailLocation>
<Title>Price Test 1</Title>
<Authors>
<Author>Kennisnet</Author>
</Authors>
<IntendedEndUserRole>Beheerder</IntendedEndUserRole>
<IsConsumptionProduct>false</IsConsumptionProduct>
<SaleUnitSize>1</SaleUnitSize>
<Currency>EURO</Currency>
<PriceVATHigh>4300</PriceVATHigh>
<PriceVATLow>500</PriceVATLow>
<IsLicensed>false</IsLicensed>
</Entry>
</srw:recordData>
</srw:record>
<!-- meer records -->
</srw:records>
<srw:nextRecordPosition>6</srw:nextRecordPosition>
<srw:echoedSearchRetrieveRequest>
<srw:version>1.2</srw:version>
<srw:query>boek</srw:query>
<srw:startRecord>1</srw:startRecord>
<srw:maximumRecords>10</srw:maximumRecords>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordSchema>eckcs2.1.1</srw:recordSchema>
</srw:echoedSearchRetrieveRequest><srw:extraResponseData>
</srw:searchRetrieveResponse>
Foutmeldingen
Een foutmelding vanuit Edurep is te herkennen aan de aanwezigheid van het diagnostics veld. In dit veld zal dan een diagnostic staan die die volgende elementen bevat:
- een foutcode: in diagnostic/uri
- een titel: in diagnostic/message
- een beschrijving: in diagnostic/details
Voorbeeld
<srw:searchRetrieveResponse>
<srw:version>1.2</srw:version>
<srw:numberOfRecords>0</srw:numberOfRecords>
<srw:diagnostics>
<diagnostic>
<uri>info://srw/diagnostics/1/48</uri>
<details>Unexpected token after parsing ([=], CQL_QUERY(SCOPED_CLAUSE(SEARCH_CLAUSE(SEARCH_TERM(TERM('test')))))).</details>
<message>Query Feature Unsupported</message>
</diagnostic>
</srw:diagnostics>
</srw:searchRetrieveResponse>
Foutcodes
foutcode | titel/message | uitleg |
---|---|---|
info://srw/diagnostics/1/4 | Unsupported Operation | Alleen operaties searchRetrieve en explain worden ondersteund. |
info://srw/diagnostics/1/5 | Unsupported Version | Alleen versies 1.1 en 1.2 worden ondersteund. Gebruik 1.2 |
info://srw/diagnostics/1/6 | Unsupported Parameter Value | De waarde van een query parameter is ongeldig. |
info://srw/diagnostics/1/7 | Mandatory Parameter Not Supplied | Niet alle verplichte argumenten zijn meegegeven. |
info://srw/diagnostics/1/8 | Unsupported Parameter | Een van de query parameters is ongeldig. |
info://srw/diagnostics/1/12 | Too many characters in query | Het query argument mag maximaal 4096 tekens bevatten. |
info://srw/diagnostics/1/48 | Query Feature Unsupported | De query bevat een fout. |