The FileSerializer listens to the repository generated JMS events to convert metadata to SOLR document format with name fields and persist it to the file system. 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 FileSerializer serializes the raw SOLR document with name fields that is converted from RDF under the configured directory file.serializer.dir, which is in flat structure with a file name that concatenates the id and the timestamp like id@yyyyMMddHHmmss.

Configuration

The indexer is configured using Spring that can be done using Java bean setter methods.  Here is a sample configuration fragment showing how to configure and use it:

  <!-- file serializer -->
  <bean id="fileSerializer" class="org.fcrepo.indexer.FileSerializer">
    <property name="path" value="${file.serializer.dir:./target/test-classes/fileSerializer/}"/>
  </bean>
 
  <!-- Message Driven POJO (MDP) that manages individual indexers -->
  <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="fileSerializer"/>
        ...
      </set>
    </constructor-arg>
    ...
  </bean>