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.
- Stop Fedora
- Remove the index data in your database (see instructions below for the database you are using)
- 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:
- Drop your fcrepo database. If you have given your database a custom name that is the database you'll need to drop.
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