Old Release

This documentation covers an old version of Fedora. Looking for another version? See all documentation.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The SolrIndexer listens to the repository JMS events to update the records in SOLR. It implements the org.fcrepo.indexer.Indexer interface for the indexing functionalities, which consists of the methods to handle new/updated records and deleted records.

The indexer will retrieve the RDF from the repository and convert it to SOLR document format with name fields, and then updates the record in SOLR.

Configuration

The SolrIndexer is configured using Spring that can be done using Java bean setter methods.  Here is a sample fragment for configuring and using it:

  <!-- Solr Indexer -->
  <bean id="solrIndexer" class="org.fcrepo.indexer.solr.SolrIndexer">
    <constructor-arg ref="solrServer" />
  </bean>

  <!-- Standardalone solr Server used by the Solr indexer  -->
  <bean id="solrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">
    <constructor-arg index="0" value="http://${fcrepo.host:localhost}:${solrIndexer.port:8983}/solr/" />
  </bean>

  <!-- Main indexer class that processes events, gets RDF from the repository and calls the workers -->
  <bean id="indexerGroup" class="org.fcrepo.indexer.IndexerGroup">
    <constructor-arg name="repositoryURL" value="http://${fcrepo.host:localhost}:${fcrepo.port:8080}${fcrepo.context:/}rest" />
    <constructor-arg name="indexers">
      <set>
        ...
        <ref bean="jcrXmlPersist"/>
        ...
      </set>
    </constructor-arg>
    ...
  </bean>
  • No labels