Sru and lucene
Download
1 / 21

SRU and Lucene - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

SRU and Lucene. Ralph LeVan Research Scientist levan@oclc.org. SRU Overview. A Simple Web Service Supports REST-ful and SOAP requests Responses are always XML records Supports Search and Retrieve Uses a Standard Query Grammar Supports Self-Configuring Clients

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' SRU and Lucene' - aubrey-prince


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Sru and lucene

SRU and Lucene

Ralph LeVan

Research Scientist

levan@oclc.org


Sru overview
SRU Overview

  • A Simple Web Service

    • 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


Sru features
SRU Features

  • Explain Records

  • CQL Query Grammar

  • Persistent Result Sets

  • XML Database Records Returned

  • Index Browses

  • Stylesheets


Explain records
Explain Records

  • serverInfo

  • databaseInfo

  • metaInfo

  • indexInfo

  • schemaInfo

  • configInfo


Serverinfo
serverInfo

  • Generated Automatically

    • host

    • port

    • database


Databaseinfo
databaseInfo

  • From SRWDatabase.props

    • databaseInfo.title

    • databaseInfo.description

    • databaseInfo.contact

  • Provided Automatically

    • implementation


Metainfo
metaInfo

  • From SRWDatabase.props

    • metaInfo.dateModified

    • metaInfo.aggregatedFrom

    • metaInfo.dateAggregated


Indexinfo
indexInfo

  • Generated Automatically

    • “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)


Schemainfo
schemaInfo

  • Generated Automatically

    • LuceneDocument

  • From SRWDatabase.props

    • xmlSchemas=<list of name>

    • <schemaName>.identifier=

    • <schemaName>.location=

    • <schemaName>.namespace=

    • <schemaName>.title=

    • [<schemaName>.transformer=]

    • [<schemaName>.resolver=]


Schemainfo example
schemaInfo Example

xmlSchemas=LuceneDocument, DC

LuceneDocument.identifier=info:srw/schema/1/LuceneDocument

LuceneDocument.location=http://www.oclc.org/standards/Lucene/schema/LuceneDocument.xsd

LuceneDocument.namespace=http://www.oclc.org/LuceneDocument

LuceneDocument.title=Lucene Demo Database records in their internal format


Schemainfo example cont
schemaInfo Example (cont.)

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

DC.transformer=LuceneToDC.xsl


Configinfo
configInfo

  • Generated Automatically

    • maximumRecords (20)

    • numberOfRecords (10)

    • resultSetTTL (300)

  • From SRWDatabase.props

    • configInfo.maximumRecords

    • configInfo.numberOfRecords

    • configInfo.resultSetTTL


Cql query grammar
CQL Query Grammar

  • Builtin: BasicLuceneQueryTranslator

  • CqlQueryTranslator

    • Query makeQuery(CQLNode cn);

    • Term getTerm();

  • From SRWDatabase.props

    • SRWLuceneDatabase. CqlToLuceneQueryTranslator= <ClassName>


Persistent result sets
Persistent Result Sets

  • Builtin: LuceneQueryResult


Xml database records
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>


Index browses
Index Browses

  • Builtin: SRWLuceneDatabase.getTerms()


Stylesheets
Stylesheets

  • From SRWDatabase.props

    • explainStyleSheet= /SRW/explainResponse.xsl

    • scanStyleSheet=/SRW/scanResponse.xsl

    • searchStyleSheet= /SRW/searchRetrieveResponse.xsl


Making the magic happen
Making the Magic Happen

  • Drop the SRWLucene.war into your <tomcat>/webapps directory

  • Restart Tomcat

  • Edit <tomcat>/webapps/SRWLucene/WEB-INF/classes/SRWServer.props

  • Restart Tomcat


Sample srwserver props
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


Sample srwdatabase props
Sample SRWDatabase.props

databaseInfo.title=Lucene Demo Database

databaseInfo.description=An index of the source code for Lucene

databaseInfo.contact=Ralph LeVan (levan@oclc.org)

qualifier.cql.serverChoice=contents

explainStyleSheet=/SRWLucene/explainResponse.xsl

scanStyleSheet=/SRWLucene/scanResponse.xsl

searchStyleSheet= /SRWLucene/searchRetrieveResponse.xsl


Resources
Resources

  • http://www.oclc.org/research/software/srw

  • http://staff.oclc.org/~levan/SRWLuceneSource.jar

  • http://staff.oclc.org/~levan/SRWLucene.war

  • http://staff.oclc.org/~levan/Implementing%20an%20SRWLuceneDatabase.doc

  • http://staff.oclc.org/~levan/SRU%20and%20Lucene.ppt

  • http://alcme.oclc.org/srw/SRUServerTester.html