Download presentation
Presentation is loading. Please wait.
1
Ralph LeVan Research Scientist levan@oclc.org
SRU and Lucene Ralph LeVan Research Scientist
2
SRU Overview A Simple Web Service Supports Search and Retrieve
Supports REST-ful and SOAP requests Responses are always XML records Supports Search and Retrieve Uses a Standard Query Grammar Supports Self-Configuring Clients A Gateway to Local Databases
3
SRU Features Explain Records CQL Query Grammar Persistent Result Sets
XML Database Records Returned Index Browses Stylesheets
4
Explain Records serverInfo databaseInfo metaInfo indexInfo schemaInfo
configInfo
5
serverInfo Generated Automatically host port database
6
databaseInfo From SRWDatabase.props Provided Automatically
databaseInfo.title databaseInfo.description databaseInfo.contact Provided Automatically implementation
7
metaInfo From SRWDatabase.props metaInfo.dateModified
metaInfo.aggregatedFrom metaInfo.dateAggregated
8
indexInfo Generated Automatically From SRWDatabase.props
“local” index set and Lucene index names From SRWDatabase.props qualifier.<indexSet>.<indexName> = <LuceneIndexName> Used only if you want to map other index names to your Lucene indexes (e.g. qualifier.dc.identifier=id)
9
schemaInfo Generated Automatically From SRWDatabase.props
LuceneDocument From SRWDatabase.props xmlSchemas=<list of name> <schemaName>.identifier= <schemaName>.location= <schemaName>.namespace= <schemaName>.title= [<schemaName>.transformer=] [<schemaName>.resolver=]
10
schemaInfo Example xmlSchemas=LuceneDocument, DC
LuceneDocument.identifier=info:srw/schema/1/LuceneDocument LuceneDocument.location= LuceneDocument.namespace= LuceneDocument.title=Lucene Demo Database records in their internal format
11
schemaInfo Example (cont.)
DC.identifier=info:srw/schema/1/dc-v1.1 DC.location= DC.title=DC: Dublin Core Elements DC.transformer=LuceneToDC.xsl
12
configInfo Generated Automatically From SRWDatabase.props
maximumRecords (20) numberOfRecords (10) resultSetTTL (300) From SRWDatabase.props configInfo.maximumRecords configInfo.numberOfRecords configInfo.resultSetTTL
13
CQL Query Grammar Builtin: BasicLuceneQueryTranslator
CqlQueryTranslator Query makeQuery(CQLNode cn); Term getTerm(); From SRWDatabase.props SRWLuceneDatabase. CqlToLuceneQueryTranslator= <ClassName>
14
Persistent Result Sets
Builtin: LuceneQueryResult
15
XML Database Records Builtin: BasicLuceneRecordResolver RecordResolver
Void init(Properties props); Record resolve(Document doc, String IdFieldName, ExtraDataType extraDataType) From SRWDatabase.props <schemaName>.resolver=<ClassName> SRWLuceneDatabase.idFieldName= <FieldName>
16
Index Browses Builtin: SRWLuceneDatabase.getTerms()
17
Stylesheets From SRWDatabase.props
explainStyleSheet= /SRW/explainResponse.xsl scanStyleSheet=/SRW/scanResponse.xsl searchStyleSheet= /SRW/searchRetrieveResponse.xsl
18
Making the Magic Happen
Drop the SRWLucene.war into your <tomcat>/webapps directory Restart Tomcat Edit <tomcat>/webapps/SRWLucene/WEB-INF/classes/SRWServer.props
19
Sample SRWServer.props
db.LuceneDemoDB.class= ORG.oclc.os.SRW.Lucene.SRWLuceneDatabase db.LuceneDemoDB.home= f:/lucene-2.0.0 db.LuceneDemoDB.configuration= SRWDatabase.props
20
Sample SRWDatabase.props
databaseInfo.title=Lucene Demo Database databaseInfo.description=An index of the source code for Lucene databaseInfo.contact=Ralph LeVan qualifier.cql.serverChoice=contents explainStyleSheet=/SRWLucene/explainResponse.xsl scanStyleSheet=/SRWLucene/scanResponse.xsl searchStyleSheet= /SRWLucene/searchRetrieveResponse.xsl
21
Resources http://www.oclc.org/research/software/srw
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.