90 likes | 245 Views
SRW & DSpace. Ralph LeVan OCLC Research. DSpace Uses Lucene. Apache Lucene http://lucene.apache.org DSpace implementation uses a simple indexing scheme for DC records No browsable indexes. OCLC Open Source SRW. Built on Apache Axis SRW Protocol Engine
E N D
SRW & DSpace Ralph LeVan OCLC Research
DSpace Uses Lucene Apache Lucene http://lucene.apache.org DSpace implementation uses a simple indexing scheme for DC records No browsable indexes
OCLC Open Source SRW • Built on Apache Axis • SRW Protocol Engine • SRWDatabase Interface for local databases • Currently has support for Pears and DSpace
SRWLuceneDatabase • Only implements enough support for Lucene to support DSpace • Produces an Explain record from data in a properties file
DSpace.SRWDatabase.props xmlSchemas=dc dc=defaultConverter dc.identifier=info:srw/schema/1/dc-v1.1 dc.location=http://www.loc.gov/zing/srw/dc-schema.xsd dc.title=dc: Dublin Core Elements databaseInfo.title=DSpace Database databaseInfo.description=Records stored in our local DSpace Repository databaseInfo.contact=Ralph LeVan (mailto:levan@oclc.org) indexSynonym.au=author indexSynonym.dc.title=title
DSpace.SRWDatabase.props contextSet.cql=info:srw/cql-context-set/1/cql-v1.1 contextSet.dc=info:srw/cql-context-set/1/dc-v1.1 # The default access point and result-set references qualifier.cql.serverChoice = 1=1016 qualifier.cql.resultSetId = @set # Dublin Core access points qualifier.dc.title = 1=4 qualifier.au = 1=1003
CQL Searches Converted • Query parsed using Mike Taylor’s parser • Traverse the tree and generate a Lucene query • Map cql indexes to Lucene indexes • Only supports AND, OR and NOT • Only supports keyword searching (relation ‘=‘)
DSpace Records Fetched • Lucene only stores handles for DSpace records • Handles used to get records from DSpace • DSpace records converted to DC records
SRW DSpace Example • http://repository.ust.hk/SRW/search/DSpace? query=dc.creator+%3D+%22smith%22&version=1.1 &operation=searchRetrieve &recordSchema=info%3Asrw%2Fschema%2F1%2Fdc-v1.1 &maximumRecords=1&startRecord=1 &resultSetTTL=0