ESciDoc Services Search&Export

From MPDLMediaWiki
Jump to: navigation, search
eSciDoc SOA
SOAP and REST style interfaces
Service layers
Core services
Context Handler · Item Handler
Container Handler
Organizational Unit Handler
User Account Handler
Authentication
Content Model Handler
Semantic Store Handler
Intermediate services
Validation Service
Statistics Manager
Technical Metadata extraction
PIDManager
Basket Handler
Duplication detection
ImageHandler(Digilib)

Application services
Depositing
Searching
Search&Export
Control of Named Entities
Citation style Manager
RightsChecking
DataAcquisition
Transformation
Fledged Data
PID Cache
OAI-PMH

SOA Introduction

edit

IDIdentifier (Label)

SE

Complete Name

Search&Export Service

Status

Implemented

Description

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&Export service interface implements several operations:

Operations Overview

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 APAAmerican Psychological Association, AJPApache JServ Protocol, BIBTEX, ENDNOTE
outputFormat Defines the output format to be used pdfPortable Document Format, html, rtf, odtOpenDocument, 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
pdfPortable Document Format A binary pdfPortable Document Format data stream
html A html data stream
rtf A rtf data stream
odtOpenDocument A odtOpenDocument 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.txtFilename Extension for Text Files</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.txtFilename Extension for Text Files</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=APAAmerican Psychological Association&outputFormat=snippet&language=all&sortKeys=sort.escidoc.publication.title&sortOrder=descending&startRecord=2&maximumRecords=5

Future Development