Table of Contents
VuFind was initially designed with the MARC bibliographic record format in mind, though additional formats are supported through the use of Record Drivers starting with version 1.0. For general information on MARC, see Understanding MARC Bibliographic from the Library of Congress. The Code4Lib Working with MARC page also provides some useful tools.
VuFind comes packaged with the SolrMarc tool for importing MARC records. Follow these steps to take advantage of it.
1. Export the Records
Before you can load the records into VuFind, you need to get them out of your Integrated Library System (ILS). If you are just testing VuFind, you can also download sample records from sources listed lower on this page.
Every ILS has a different procedure for exporting records, and detailing all of them is beyond the scope of this document. Check your ILS documentation or talk to your vendor if you need help. You can also check the MARC Export Notes page to see if there are notes specific to your ILS; please consider adding to the page if you have knowledge to share. If you still need help, you can always ask on the mailing lists on the Support page – the VuFind community is always happy to help when it can.
Keep these notes in mind to ensure that your records can be imported without any problems:
- Export your records in binary (ISO2709) MARC format, not human-readable ASCII. If for some reason you cannot export the records in binary form, you can use a tool like yaz-marcdump from the YAZ toolkit to convert one MARC format to another.
- Make sure your resulting file has a “.mrc” extension. Most versions of SolrMarc require this extension, so it is a good practice to use it just to be on the safe side.
- Each exported record must contain a unique identifier so that VuFind can tell it apart from the others. We recommend including your ILS's bibliographic record ID in the exported data for this purpose; you may need to add a special configuration option to your ILS's exporter to make this happen. VuFind's importer expects to find the unique ID in the 001 field, but you can customize this by editing the marc.properties file (for more details, see Customizing Import Mappings).
2. Configure the Importer
The import tool relies on settings in import/import.properties. If this is the first time you are indexing, make sure that file paths and URLs in this file are correct for your setup. For more details on what everything means, see the SolrMarc documentation.
3. Import the Records
To begin an import, follow the platform-specific instructions listed below. This may take hours or days for very large data sets!
Switch to your VuFind installation directory and run:
Note: In versions of VuFind prior to 1.0RC2, import-marc.sh was named import.sh.
Switch to your VuFind installation directory and run:
The following optional feature was introduced after the release of VuFind 1.0.1.
In both Linux and Windows, you can use the optional “-p” switch to override SolrMarc's default import.properties file with a different file. For example:
./import-marc.sh -p /usr/local/vufind/import/custom.properties your_records.mrc
This may be useful if you need to import different sets of records using different mappings.
Importing Authority Records
Starting with VuFind 1.1, it is also possible to import authority records into VuFind's separate authority index (see the Authority Control page for more details). A special tool (import-marc-auth.sh under Linux, import-marc-auth.bat under Windows) is provided to help with this. This works exactly like the standard import-marc script, except the SolrMarc settings are found in import/import_auth.properties, the default MARC mappings are found in import/marc_auth.properties, and you may provide a second parameter after the MARC filename to specify a set of additional MARC mappings to override the defaults in marc_auth.properties.
Important: The default properties assume a unique identifier in the 010 field. If your identifiers are in 001 (common for ILS exports), specify marc_auth_ils.properties as the second parameter of the script. If your identifiers are somewhere else, you may need to build your own custom properties.
Authority data is currently used in two ways: it can be searched through the simple Authority module (found at http://your_server/vufind/Authority/Home), and it provides “see also” and “use instead” references within the index generated by the Alphabetical Heading Browse feature. Additionally, you can choose to activate the Authority Recommend module which will provide Search recommendations to users based on a search of the Authority Index for their current search terms. E.g., if users search for a known pseudonym, the Authority Recommend module will suggest that they search for the registered heading instead.
Troubleshooting Under Windows
If you have trouble importing authority records under Windows, it may have to do with the classpath settings in some of the .bsh files found in the import/index_scripts subdirectory of your VuFind installation. Try changing the addClassPath(“../import”); lines to addClassPath(“c:/vufind/import”); where “c:/vufind/import” is the path to the import subdirectory of your VuFind installation. Note the use of forward slashes – this is acceptable and simplifies escaping issues, even in the Windows environment.
4. Restart VuFind
If the imported records do not show up in VuFind immediately, you will have to restart the program as described here.
5. Optimize Your Index
For improved performance (and, if applicable, correct spellchecker behavior), it is a good idea to optimize your Solr index after you import records.
See the SolrMarc page for more details on how you can customize the behavior of the import process to meet your needs.
Indexing Full Text
Starting with VuFind 1.2, it is possible to harvest full text from URLs found in MARC records. This requires that you first install a full-text extraction tool and then uncomment the appropriate fulltext line in import/marc_local.properties. Comments in the property file explain exactly how the functionality works. Full text indexing is disabled by default.