Search API
An API for searching DOMS needs to be provided.
Two possibilities exist
Using GSearch - http://defxws2006.cvt.dk/fedoragsearch/
- Pros: Easily set up, simple interface
- Cons: Searches on a one-fedora-object basis
Using Summa - https://gforge.statsbiblioteket.dk/projects/summa
- Pros: Searches on entire metadata records
- Cons: Difficult to setup, more complicated interface
Probably, Summa is the best bet.
Summa webservice search interface WSDL extract:
<element name="simpleSearch"> <complexType> <sequence> <element name="query" type="xsd:string"/> <element name="numberOfRecords" type="xsd:int"/> <element name="startIndex" type="xsd:int"/> </sequence> </complexType> </element> <element name="simpleSearchResponse"> <complexType> <sequence> <element name="simpleSearchReturn" type="xsd:string"/> </sequence> </complexType> </element> <element name="simpleSearchSorted"> <complexType> <sequence> <element name="query" type="xsd:string"/> <element name="numberOfRecords" type="xsd:int"/> <element name="startIndex" type="xsd:int"/> <element name="sortKey" type="xsd:string"/> <element name="reverse" type="xsd:boolean"/> </sequence> </complexType> </element> <element name="simpleSearchSortedResponse"> <complexType> <sequence> <element name="simpleSearchSortedReturn" type="xsd:string"/> </sequence> </complexType> </element>
Result will be of the form
<?xml version="1.0" encoding="UTF-8"?> <searchresult filter="..." query="..." startIndex="..." maxRecords="..." sortKey="..." reverseSort="..." fields="..." searchTime="..." hitCount="..."> <record score="..." sortValue="..."> <field name="recordID">...</field> <field name="shortformat">...</field> </record> ... </searchresult>