Current Release

This documentation covers the current 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

« Previous Version 3 Next »

Overview

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 taking the following steps.

  1. Stop Fedora 
  2. Remove the index data in your database (see instructions below for the database you are using)
  3. Start Fedora

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). 

Removing Index Data

Step 2 above will be accomplished differently depending on which underlying database you're using and how your system is configured. 

Embedded (H2) Database users

NOTE: The H2 database should not be used in a production installation.

To remove the default (ie H2 database) simply delete the following files from your <fedora_home>/data directory if they exist:

  • fcrepo-h2.lock.db
  • fcrepo-h2.mv.db

Postgres, MariaDB, and MySQL Users

If you are using one of the three available SQL databases, you'll need to take one of the following actions:  

  1. Drop your fcrepo database. If you have given your database a custom name that is the database you'll need to drop. 
  2. Drop or truncate the fcrepo database tables if it is not convenient to  Below is a list of the affected tables.

    containment
    containment_transactions
    membership
    mmembership_tx_operations
    reference
    reference_transaction_operations
    ocfl_id_map
    simple_search
    search_rdf_type
    search_resource_rdf_type
  • No labels