About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
indexing:solrmarc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
indexing:solrmarc [2016/12/16 13:58] – [Customizing Import Mappings] demiankatzindexing:solrmarc [2018/03/05 14:34] – [Customizing Format Determination] demiankatz
Line 24: Line 24:
 ===== Customizing Translation Maps ===== ===== Customizing Translation Maps =====
  
-One of the features of SolrMarc is the ability to translate values found in MARC into different strings using translation map files (i.e. language_map.properties).  See the [[http://code.google.com/p/solrmarc/wiki/ConfiguringSolrMarc|SolrMarc documentation]] for details on how to specify a translation map in the marc.properties file.+One of the features of SolrMarc is the ability to translate values found in MARC into different strings using translation map files (i.e. language_map.properties).  See the [[https://github.com/solrmarc/solrmarc/wiki/Translation-maps|SolrMarc documentation]] for details on how to specify a translation map in the marc.properties file.
  
 Starting with VuFind 1.0RC2, translation maps are found in the import/translation_maps directory. Starting with VuFind 1.0RC2, translation maps are found in the import/translation_maps directory.
 +
 +Starting with VuFind 2.x, translation maps can be overridden in the [[configuration:local_settings_directory|local settings directory]].
  
 Prior to RC2, translation maps are embedded in the SolrMarc .jar file, making them more difficult (but certainly not impossible) to modify. Prior to RC2, translation maps are embedded in the SolrMarc .jar file, making them more difficult (but certainly not impossible) to modify.
Line 32: Line 34:
 ===== Customizing Format Determination ===== ===== Customizing Format Determination =====
  
-One of the most commonly-requested VuFind customizations involves changing the way record formats are assigned.+One of the most commonly-requested VuFind customizations involves changing the way record formats are assigned. The method for this depends on your VuFind version.
  
-By default, formats are generated using the getFormat function built into SolrMarc.  However, the logic used by getFormat is also replicated in a BeanShell script packaged with VuFind.  If you want to customize the behavior, here are the steps to follow:+==== VuFind 4.0 and newer ==== 
 + 
 +More recent versions of VuFind determine formats using a getFormat function found in [[https://github.com/vufind-org/vufind/blob/master/import/index_java/src/org/vufind/index/FormatCalculator.java|FormatCalculator.java]]. You can override this file in your [[configuration:local_settings_directory|local settings directory]] to adjust the behavior. 
 + 
 +==== VuFind 3.x and earlier ==== 
 + 
 +By default, formats are generated in older versions of VuFind using the getFormat function built into SolrMarc.  However, the logic used by getFormat is also replicated in a BeanShell script packaged with VuFind.  If you want to customize the behavior, here are the steps to follow:
  
   - Copy import/index_scripts/format.bsh into the import/index_scripts subdirectory of your [[configuration:local_settings_directory|local settings directory]] and edit it to customize the behavior as needed.  BeanShell borrows its syntax and libraries from Java, so the code should look familiar to many developers.  The MARC access is accomplished with the [[http://marc4j.tigris.org/|MARC4J]] library.   - Copy import/index_scripts/format.bsh into the import/index_scripts subdirectory of your [[configuration:local_settings_directory|local settings directory]] and edit it to customize the behavior as needed.  BeanShell borrows its syntax and libraries from Java, so the code should look familiar to many developers.  The MARC access is accomplished with the [[http://marc4j.tigris.org/|MARC4J]] library.
Line 42: Line 50:
 ===== Custom Indexing Functions ===== ===== Custom Indexing Functions =====
  
 +==== Dynamically-Compiled Java Code ====
 +
 +:!: This option is only available in SolrMarc 3.0 and later, but it is usually the preferred option when available. The other three options below are more relevant to SolrMarc 2.x and earlier, and the documentation links they provide may be outdated.
 +
 +By putting custom Java code in the import/index_java/src subdirectory (either under $VUFIND_HOME or in your [[configuration:local_settings_directory|local settings directory]]), you can define custom methods that will be automatically compiled at runtime. This offers the benefits of BeanShell scripting with none of the disadvantages. See [[https://github.com/solrmarc/solrmarc/wiki/Compile-User-supplied-Custom-Methods-at-Runtime|the documentation]] for more details.
 +
 +See [[indexing:solrmarc:custom_java_best_practices|Custom Java Best Practices]] for some suggestions.
 ==== Compiled Custom Functions ==== ==== Compiled Custom Functions ====
  
Line 68: Line 83:
  
 (just replace "bib_" in the second line with the prefix you desire). (just replace "bib_" in the second line with the prefix you desire).
- 
-Here is the [[http://old.nabble.com/FW%3A--solrmarc-tech--RE%3A-constructing-a-custom-id-field-in-marc.properties-p31334509.html|original thread]] from which this trick was derived. 
- 
  
 ===== Pre-Processing Records ===== ===== Pre-Processing Records =====
indexing/solrmarc.txt · Last modified: 2024/02/23 11:34 by demiankatz