To set up external index and searching you must:
Install and configure standalone search applications
fcrepo-jms-indexer-pluggable currently supports the following triplestores:
- Jena Fuseki (Fuseki setup instructions)
- Sesame (Sesame setup instructions)
fcrepo-jms-indexer-pluggable currently supports the following indexer:
Install and configure fcrepo-jms-indexer-pluggable
The fcrepo-jms-indexer-pluggable project includes software for a web service that sits between your Fedora 4 repository and an external search service. As it's name implies, it's a generic framework that allows for easy extension for use integrating unanticipated or proprietary search services with the Fedora 4 repository. There are proof-of-concept implementations for Jena Fuseki, Sesame and Apache Solr.
The following github page has detailed instructions as to how to set up fcrepo-jms-indexer-pluggable. This standalone app listens to messages produced by fcrepo4 and invokes the search applications as configured:
https://github.com/futures/fcrepo-jms-indexer-pluggable
Mark a node as indexable and and assign an appropriate indexing transformation
For a node to be indexed it must:
- have the rdf type "http://fedora.info/definitions/v4/indexing#indexable
- have the property http://fedora.info/definitions/v4/indexing#hasIndexingTransformation set to a registered index transformation
Indexing Transformations
A default indexing transformation exists that maps the appropriate properties to the field names "title", "uuid" and "id". To meet your needs, you can write and register custom indexing transformations.
Create new objects with indexing properties
For an object to be indexed it must have a rdf:type of indexing:indexable, and optionally a indexing:hasIndexingTransformation corresponding to an LDPATH program.
curl -X POST -H "Content-Type: application/n3" "http://localhost:8080/rest/anIndexableObject" -d "@body.rdf" body.rdf: @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix indexing:<http://fedora.info/definitions/v4/indexing#>. <> rdf:type <http://fedora.info/definitions/v4/indexing#indexable> <> indexing:hasIndexingTransformation "default".