Sharing content between hippo and solr

34
Sharing content between Hippo and Solr Jettro Coenradie [[email protected] ] Chief Architect JTeam B.V. vrijdag 20 augustus 2010

description

Presentation I have given at the hippo gettogether august 2010 about the lucene connector framework

Transcript of Sharing content between hippo and solr

Page 1: Sharing content between hippo and solr

Sharing content between Hippo and Solr

Jettro Coenradie [[email protected]]Chief Architect JTeam B.V.

vrijdag 20 augustus 2010

Page 2: Sharing content between hippo and solr

Why ?

vrijdag 20 augustus 2010

Page 3: Sharing content between hippo and solr

Why ?

• Multiple content repositories, one access point

vrijdag 20 augustus 2010

Page 4: Sharing content between hippo and solr

Why ?

• Multiple content repositories, one access point

• More search options than out of the box available in hippo

vrijdag 20 augustus 2010

Page 5: Sharing content between hippo and solr

JTeam involvement

• Experience with Solr

• Experience with Hippo

vrijdag 20 augustus 2010

Page 6: Sharing content between hippo and solr

JTeam involvement

• Experience with Solr

• Experience with Hippo

• Customer demand

vrijdag 20 augustus 2010

Page 7: Sharing content between hippo and solr

JTeam involvement

• Experience with Solr

• Experience with Hippo

• Customer demand

• Ralph Ruijs internship

vrijdag 20 augustus 2010

Page 8: Sharing content between hippo and solr

[LCF] LuceneConnector Framework

• Data synchronization framework

• Originated from MetaCarta project

• Apache incubator project

• http://incubator.apache.org/connectors/

vrijdag 20 augustus 2010

Page 9: Sharing content between hippo and solr

[LCF] Architecture

vrijdag 20 augustus 2010

Page 10: Sharing content between hippo and solr

• Start example that comes with solr

• Change the schema [add fields]

• Start the Solr explorer

http://www.jteam.nl/news/solrexplorer.htmlhttp://lucene.apache.org/solr/

vrijdag 20 augustus 2010

Page 12: Sharing content between hippo and solr

LCF Crawler ui

• configure repository connectors

• configure output connectors

• configure jobs

• Start the job

vrijdag 20 augustus 2010

Page 13: Sharing content between hippo and solr

vrijdag 20 augustus 2010

Page 14: Sharing content between hippo and solr

Building LCF

vrijdag 20 augustus 2010

Page 15: Sharing content between hippo and solr

Building LCF

• Build from source using ant

vrijdag 20 augustus 2010

Page 16: Sharing content between hippo and solr

Building LCF

• Build from source using ant

• Deploy artifacts to artifactory

vrijdag 20 augustus 2010

Page 17: Sharing content between hippo and solr

Building LCF

• Build from source using ant

• Deploy artifacts to artifactory

• Use maven to create war with connectors

vrijdag 20 augustus 2010

Page 18: Sharing content between hippo and solr

Building LCF

• Build from source using ant

• Deploy artifacts to artifactory

• Use maven to create war with connectors

• Use maven to build agent with connectors

vrijdag 20 augustus 2010

Page 19: Sharing content between hippo and solr

Building LCF

• Build from source using ant

• Deploy artifacts to artifactory

• Use maven to create war with connectors

• Use maven to build agent with connectors

• Use special classes to prepare environment.

vrijdag 20 augustus 2010

Page 20: Sharing content between hippo and solr

Create an LCF Connector

• UI related methods

• Connection related methods

• Runner related methods

• UI related methods

• Connection related methods

• Runner related methods

vrijdag 20 augustus 2010

Page 21: Sharing content between hippo and solr

Create an LCF Connector

IConnector

IOutputConnector IRepositoryConnector

IConnector

IOutputConnector IRepositoryConnector

vrijdag 20 augustus 2010

Page 22: Sharing content between hippo and solr

Create an LCF Connector

installdeinstallconnectdisconnectcheckpollgetConfigurationviewConfigurationoutputConfigurationHeaderoutputConfigurationBodyprocessConfigurationPost

IConnectorinstalldeinstallconnectdisconnectcheckpollgetConfigurationviewConfigurationoutputConfigurationHeaderoutputConfigurationBodyprocessConfigurationPost

IConnector

vrijdag 20 augustus 2010

Page 23: Sharing content between hippo and solr

Create an LCF Connector

executeCommandaddOrReplaceDocumentremoveDocumentviewSpecificationoutputSpecificationHeaderoutputSpecificationBodyprocessSpecificationPost

IOutputConnectorexecuteCommandaddOrReplaceDocumentremoveDocumentviewSpecificationoutputSpecificationHeaderoutputSpecificationBodyprocessSpecificationPost

IOutputConnector

vrijdag 20 augustus 2010

Page 24: Sharing content between hippo and solr

Create an LCF Connector

executeCommandaddSeedDocumentsprocessDocumentsremoveDocumentviewSpecificationoutputSpecificationHeaderoutputSpecificationBodyprocessSpecificationPost

IRepositoryConnectorexecuteCommandaddSeedDocumentsprocessDocumentsremoveDocumentviewSpecificationoutputSpecificationHeaderoutputSpecificationBodyprocessSpecificationPost

IRepositoryConnector

vrijdag 20 augustus 2010

Page 25: Sharing content between hippo and solr

[Bad] code base

vrijdag 20 augustus 2010

Page 26: Sharing content between hippo and solr

[Bad] code base

• Build without dependency management

vrijdag 20 augustus 2010

Page 27: Sharing content between hippo and solr

[Bad] code base

• Build without dependency management

• No standard project layout

vrijdag 20 augustus 2010

Page 28: Sharing content between hippo and solr

[Bad] code base

• Build without dependency management

• No standard project layout

• Large classes with to many concerns

vrijdag 20 augustus 2010

Page 29: Sharing content between hippo and solr

[Bad] code base

• Build without dependency management

• No standard project layout

• Large classes with to many concerns

• Positive - working on improving it

vrijdag 20 augustus 2010

Page 30: Sharing content between hippo and solr

Thumbs up or down

vrijdag 20 augustus 2010

Page 31: Sharing content between hippo and solr

Thumbs up or down

• Code base can be a lot better

vrijdag 20 augustus 2010

Page 32: Sharing content between hippo and solr

Thumbs up or down

• Code base can be a lot better

• Good idea

vrijdag 20 augustus 2010

Page 33: Sharing content between hippo and solr

Thumbs up or down

• Code base can be a lot better

• Good idea

• Good start

vrijdag 20 augustus 2010

Page 34: Sharing content between hippo and solr

Questions

vrijdag 20 augustus 2010