Current Release

This documentation covers the current version of Fedora. Looking for another version? See all documentation.

Fedora maintains a set of internal indices containing information derived from the persistent storage, namely the underlying OCFL (Oxford Common File Layout). These indices act only as a cache of information that is persisted in the underlying OCFL and can be destroyed and rebuilt as necessary.

These indices currently maintain the following information: 

  • the LDP containment hierarchy
  • resource membership relationships
  • relationships between resources
  • searchable fields, and
  • the relationship between Fedora resources and their associated OCFL objects. 

These indices are built initially when Fedora is started for the first time on a non-empty OCFL.  As content is added, updated and deleted, the indices are updated accordingly. You may at some point wish to rebuild these indices from scratch for a variety of reasons. For example,  it is likely that a future change (in subsequent releases) to the index structures could require a rebuild.  In that case you can accomplish this task by simply restarting Fedora with the following flag:

-Dfcrepo.rebuild.on.start=true

NOTE: Depending on the size of your repository, the type of database,  and/or the capacity of your database server,  the rebuild can take anywhere from a few seconds to several hours (i.e if you have many millions of objects). 

Additional Configuration

To help with long rebuilds, optional properties can be passed in

PropertyDefault ValueNote
-Dfcrepo.rebuild.validationtrueEnables validation of the ocfl repository before running reindexing. Set to false to skip this step.
-Dfcrepo.rebuild.validation.fixityfalseSets a flag in the ocfl validation to run fixity checks on bitstreams during validation. Set to true to enable fixity checks.

Note: -Dfcrepo.rebuild.validation must also be enabled for fixity checking
-Dfcrepo.ocfl.verify.inventorytrueTells the ocfl repository that the inventory for an ocfl object should be validating during read and write operations. Set to false to disable checking of the inventory.
  • No labels