Sru and lucene
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

SRU and Lucene PowerPoint PPT Presentation


  • 44 Views
  • Uploaded on
  • Presentation posted in: General

SRU and Lucene. Ralph LeVan Research Scientist [email protected] 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

Download Presentation

SRU and Lucene

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

[email protected]


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 ([email protected])

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


  • Login