Define Indexing Namespace and Mixin in Compact Node Definition of fcrepo4
External indexing relies upon the objects you wish to have indexed to have an indexing:indexable mixin property. Make sure your node definitions contain the following:
<indexing = 'http://fedora.info/definitions/v4/indexing#'> [indexing:indexable] mixin - indexing:hasIndexingTransformation (STRING) multiple COPY nofulltext noqueryorder
The standard configuration chain is as follows:
- fcrepo4/fcrepo-webapp/src/main/webapp/WEB-INF/web.xml contains a context-param element with param-name "contextConfigLocation". The param-value points to your spring configuration file, usually a path like WEB-INF/classes/*.xml
- One of you spring configuration files is repo.xml that contains a property repositoryConfiguration defining the location of your repository.json
- fedora-node-types.cnd is defined in you repository.json
Install fcrepo-jms-indexer-pluggable
https://github.com/futures/fcrepo-jms-indexer-pluggable
TODO: flesh out
Load an LDPATH program
TODO: code block
http://localhost:8080/rest/fedora:system/fedora:transform/fedora:ldpath/default
fcrepo-transform/src/main/java/org/fcrepo/transform/http/FedoraTransform.java other than default
Create objects with indexing properties
curl -X POST -H "Content-Type: application/n3" "http://localhost:8080/rest/node/to/create" -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#>. <object uri> rdf:type <http://fedora.info/definitions/v4/indexing#indexable> indexing:hasIndexingTransformation \"default\".
TODO: test