ESciDoc Services Search&Export
ID (Label)[edit]
SE
Complete Name[edit]
Search&Export Service
Status[edit]
Implemented
Description[edit]
This service enables operations by which resources can be searched and exported in a desired output format. The services uses two different code modules:
- The search module is responsible for the search logic
- The search_presentation represents the web interface
The Search&Export service interface implements several operations:
Operations Overview[edit]
Operation | Status | Input | Output | Description |
---|---|---|---|---|
Search&Export | implemented | cqlQuery : String exportFormat : String outputFormat : String language : String sortKeys : String startRecord : String maximumRecords : String sortOrder : String |
byte[] | Scope:Public Gives back a search result list for a given cql query in the chosen output and export format. |
Input Parameters Description
These are the parameters which can be set in the client request towards the servlet.
Parameter | Description | Allowed Values |
---|---|---|
cqlQuery | Cql search query | all string literals |
exportFormat | Export format to be used | APA, AJP, BIBTEX, ENDNOTE |
outputFormat | Defines the output format to be used | pdf, html, rtf, odt, snippet |
language | Defines the lucene database identifier (earlier days: language) to be queried | all, de, en |
sortKeys | Defines the sort key of the search result. Valid lucene sorting indizes can be get via the lucene explain interface | Lucene sorting keys |
startRecord | Returns only the search results from that starting record | A positive number |
maximumRecords | Returns this maximum numbers of search records | A positive number |
sortOrder | Defines the sort order of the search result | ascending, descending |
Output Data Description
These are the possible return values from the servlet.
Return type | Description |
---|---|
A binary pdf data stream | |
html | A html data stream |
rtf | A rtf data stream |
odt | A odt data stream |
snippet | A xml data stream. An example is shown below |
Snippet example
This is an xml example of the snippet output format. This output format is used as a technical interface of the Search&Export service. In this example the search result consists of one item with one component attached.
<escidocItemList:item-list> <escidocItem:item last-modification-date="2008-12-16T17:02:31.418Z" objid="escidoc:5001"> <escidocItem:properties> <srel:context objid="escidoc:persistent3" /> <srel:content-model objid="escidoc:persistent4" /> <prop:pid>hdl:someHandle/test/escidoc:5001:2</prop:pid> <prop:content-model-specific> <local-tags> <local-tag /> </local-tags> <dcterms:bibliographicCitation> <span class="Default"> <span class="DisplayDateStatus"> (2008). </span> </span> <span class="Italic">tomsbuch.</span> <span class="Default"></span> </dcterms:bibliographicCitation> </prop:content-model-specific> </escidocItem:properties> <escidocMetadataRecords:md-records> <escidocMetadataRecords:md-record name="escidoc"> <escidocMetadataProfile:publication type="book"> <publication:creator role="editor"> <escidoc:person> <escidoc:complete-name /> <escidoc:family-name>tom</escidoc:family-name> <escidoc:given-name>endres</escidoc:given-name> <escidoc:organization> <escidoc:organization-name>orgi</escidoc:organization-name> <escidoc:address /> <escidoc:identifier>escidoc:persistent22</escidoc:identifier> </escidoc:organization> </escidoc:person> </publication:creator> <dc:title>tomsbuch</dc:title> <dcterms:created xsi:type="dcterms:W3CDTF" /> <dcterms:modified xsi:type="dcterms:W3CDTF" /> <dcterms:dateSubmitted xsi:type="dcterms:W3CDTF" /> <dcterms:dateAccepted xsi:type="dcterms:W3CDTF" /> <publication:published-online xsi:type="dcterms:W3CDTF" /> <dcterms:issued xsi:type="dcterms:W3CDTF">2008</dcterms:issued> <publication:total-number-of-pages /> <dc:subject /> <dcterms:tableOfContents /> </escidocMetadataProfile:publication> </escidocMetadataRecords:md-record> </escidocMetadataRecords:md-records> <escidocComponents:components> <escidocComponents:component objid="escidoc:5002"> <escidocComponents:properties> <prop:creation-date>2008-12-16T16:45:35.106Z</prop:creation-date> <prop:description>ein netter volltext</prop:description> <prop:valid-status>valid</prop:valid-status> <prop:visibility>public</prop:visibility> <prop:content-category>any-fulltext</prop:content-category> <prop:file-name>test.txt</prop:file-name> <prop:mime-type>text/html</prop:mime-type> </escidocComponents:properties> <escidocComponents:content storage="internal-managed" xlink:href="http://framework:8080/ir/item/escidoc:5001/components/component/escidoc:5002/content" /> <escidocMetadataRecords:md-records> <escidocMetadataRecords:md-record name="escidoc"> <file:file> <dc:title>test.txt</dc:title> <dc:description>ein netter volltext</dc:description> <dc:format xsi:type="dcterms:IMT">text/html</dc:format> <dcterms:extent>53</dcterms:extent> </file:file> </escidocMetadataRecords:md-record> </escidocMetadataRecords:md-records> </escidocComponents:component> </escidocComponents:components> </escidocItem:item> </escidocItemList:item-list>
Sample Servlet call
Here you can see a sample call to the Search&Export service. As you can see all the parameters are part of the GET query.
http://localhost:8080/search/SearchAndExport?cqlQuery=escidoc.metadata="test"&exportFormat=APA&outputFormat=snippet&language=all&sortKeys=sort.escidoc.publication.title&sortOrder=descending&startRecord=2&maximumRecords=5