Info |
---|
This guide will help you get up and running with a Fedora 4 instance whose updates are automatically indexed in a Solr repository. This guide glosses over many of the details and should be considered a starting point for testing using this feature. The document assumes a POSIX operating system with cURL, a text editor, Java, and a download of Apache Solr 4.10.3. |
Versions
Install and Start Fedora 4
...
- Fedora 4 is running on port 8080 at context "fcrepo" (with JMS listening on events published at port 61616)
- Your Fedora 4 instance has the transform service enabled. Since the transform service is not available in the core Fedora webapp, you will likely need to use the Fedora Webapp Plus.
Verify
- You should be able to view Fedora in a web browser at the following URL: http://localhost:8080/fcrepo/restCreate a resource or navigate to an existing Fedora resource in the web browser, for example http://localhost:8080/fcrepo/rest/collection
- Assuming the resource is named "collection", you can verify that the transform service is enabled by navigating to the following URL in a web browser: http://localhost:8080/fcrepo/rest/collection/fcr:transform/default
You should see a json document such as:
No Format [{"created":["2016-06-01T18:04:41.859Z"],"has_parent":["http://localhost:8080/fcrepo/rest/"],"id":["http://localhost:8080/fcrepo/rest/collection"],"title":[],"last_modified":["2016-06-01T18:04:41.859Z"]}]
Install, Configure and Start Solr
...
Download Solr
Code Block | ||
---|---|---|
| ||
wget http://archive.apache.org/dist/lucene/solr/4.10.3/solr-4.10.3.tgz tar -xzvf solr-4.10.3.tgz |
The location of your untarred Solr installation will be furthermore be hereinafter referenced as $SOLR_HOME.
...
Code Block | ||
---|---|---|
| ||
wget https://raw.githubusercontent.com/fcrepo4-exts/fcrepo4-vagrant-base-box/master/config/schema.xml cp schema.xml $SOLR_HOME/example/solr/collection1/conf/ |
Start Solr
Code Block | ||
---|---|---|
| ||
cd $SOLR_HOME/example java -jar start.jar |
...
- Navigating to the following URL in a web browser should show the Solr administrative interface: http://localhost:8983/solr/
Install and Start Karaf
Download Karaf
Code Block | ||
---|---|---|
| ||
wget http://archive.apache.org/dist/karaf/4.0.5/apache-karaf-4.0.5.tar.gz
tar xvzf apache-karaf-4.0.5.tar.gz |
The location of your untarred Karaf installation will be hereinafter referenced as $KARAF_HOME.
Start Karaf
Code Block | ||
---|---|---|
| ||
cd $KARAF_HOME
./bin/karaf |
Verify
After running the command above
- you should be presented with some ASCII art in your terminal and
you should be put into the Karaf client shell, such as:
No Format __ __ ____ / //_/____ __________ _/ __/ / ,< / __ `/ ___/ __ `/ /_ / /| |/ /_/ / / / /_/ / __/ /_/ |_|\__,_/_/ \__,_/_/ Apache Karaf (4.0.2) karaf@root()>
Note, to exit the Karaf client shell, type:
CTRL-D
. This will stop the Karaf server, ending the indexing process.To run Karaf as a system service please refer to the Karaf Service Wrapper documentation.
Install, Configure and Start Fedora Camel Toolbox
Install Toolbox
In the Karaf
...
...
client shell type the following:
Code Block | ||
---|---|---|
| ||
feature:repo-add mvn:org.fcrepo.camel/toolbox-features/4.6.2/xml/features
feature:install fcrepo-service-activemq
feature:install fcrepo-indexing-solr |
Verify - Toolbox Installation
Still in the Karaf client shell, the following command
Code Block | ||
---|---|---|
| curl -v -X PUT -H "Content-Type: text/turtle" --data-binary "@object.rdf" "||
feature:list|grep fcrepo |
should result in both the fcrepo-camel
and fcrepo-indexing-solr
features being in the Started
state
No Format |
---|
fcrepo-camel | 4.4.3 | | Started | fcrepo-camel-4.4.3
fcrepo-indexing-solr | 4.6.2 | x | Started | toolbox-features-4.6.2
fcrepo-ldpath | 4.6.2 | | Started | toolbox-features-4.6.2
fcrepo-service-ldcache-file | 4.6.2 | | Started | toolbox-features-4.6.2
fcrepo-marmotta-osgi | 4.6.2 | | Started | toolbox-features-4.6.2 |
Verify - LDPath
- You should be able to create and navigate to an existing Fedora resource in the web browser, for example http://localhost:8080/fcrepo/rest/
...
title | object.rdf |
---|---|
linenumbers | true |
...
- collection
- Assuming the resource is named "collection", you should be able to verify that the LDPath service is enabled by navigating to the following URL in a web browser: http://localhost:9086/ldpath/collection
You should see a JSON document such as:
Code Block [{"extent":[],"references":[],"prev":[],"altLabel":[],"type":["http://fedora.info/definitions/v4/repository#Container","http://fedora.info/definitions/v4/repository#Resource","http://www.w3.org/ns/ldp#Container","http://www.w3.org/
...
ns/ldp#RDFSource"],"narrowMatch":[],"relation":[],"accrualMethod":[],"notation":[],"id":["http://localhost:8080/fcrepo/rest/collection"], ... "lastModifiedBy":["bypassAdmin"],"prefLabel":[],"alternative":[],"label":[],"accessTo":[],"createdBy":["bypassAdmin"],"hiddenLabel":[],"comment":[],"accessRights":[],"sameAs":[] }]
Configure Toolbox
The main configuration of the fcrepo-indexing-solr
feature is found at: $KARAF_HOME/etc/org.fcrepo.camel.indexing.solr.cfg
You will need to make updates to this configuration file if any of the following are true:
- Your Solr is deployed at a URL different than the one detailed earlier in this document
- Your Fedora is deployed at a URL different than the one detailed earlier in this document
- Your Fedora has Authorization enabled, e.g. WebAC
For configuration details, please refer to the documentation found at the fcrepo-indexing-solr github page. If you updated the $KARAF_HOME/etc/org.fcrepo.camel.indexing.solr.cfg
file, it is quite likely that you will also need to update the $KARAF_HOME/etc/org.fcrepo.camel.ldpath.cfg
file, particularly the sections related to Fedora location and authorization. Please refer to the fcrepo-ldpath page on github for configuration details.
Success
You should now be able to create/update/delete resources in your Fedora repository, and subsequently see them in your Solr index!
Resources
For debugging purposes, you may want to inspect the logs of the various applications:
- Fedora log (unless configured otherwise):
/var/log/tomcat8/catalina.out
- Solr log:
$SOLR_HOME/example/logs/solr.log
- Karaf log:
$KARAF_HOME/data/log/karaf.log
Ensure that the records are committed to Solr (either through an explicit commit or waiting until the configured commit period is up) and then verify that they show up.