Logo Help Center

Using taxonomy values to populate metadata fields in Elvis 6

Using taxonomy values to populate metadata fields in Elvis 6

When a value is added to a metadata field it is important that this value is correctly entered. This is preferably done by all users using a generally used term and the correct spelling. When this is not consistently done the chance exists that the asset is not included in the search results when users search for the asset (using these general terms and correct spelling).

To streamline this process, a metadata field in Elvis can be set up to use a 'taxonomy list' from which the user can choose a predefined value to use.

This saves the user from having to enter the term manually and thereby ensures consistent input.

What is a taxonomy list?

A taxonomy list is a list of restricted, predefined, related terms that follow a controlled hierarchy. They are also known as 'controlled vocabularies'.

Example: Here, 'health' is defined in the categories 'health treatment' and 'medicine' of which 'health treatment' is further defined in 'dietary supplements', and 'medicine' is further defined in 'herbal' and 'western'.

  • health
  • health treatment
  • dietary supplements
  • medicine
  • herbal
  • western

Recommended reading: Taxonomies and controlled vocabularies best practices for metadata (source: Palgrave Macmillan).

Where to get a taxonomy list from

Various taxonomy lists are provided by metadata standard groups such as the IPTC. Using such lists ensures consistent use of such terms across the industry.

Using a taxonomy list in Elvis

For information about using a taxonomy list in Elvis, see Working with metadata in the Pro client of Elvis 6.


Configuring a metadata field for using taxonomy lists is a 2-step process:

Step 1. Making the list available on Elvis Server.

Step 2. Configuring the metadata field.

1. Making the taxonomy lists available on Elvis Server

Taxonomy files are stored in the following location:

<Elvis Server>/Config/taxonomies

Tip: Various taxonomy files for every format are included in the taxonomies folder which can be used as examples for setting up taxonomies in Elvis.

Note: Taxonomy files in RDF format also require a settings file to be placed in this same location. For example, the 'taxonomy subject-code.rdf' file needs to be accompanied by settings file 'subject-code.properties.txt'. For details about the settings, see the example files in the taxonomies folder.

Place any additional taxonomy files (and for RDF: their settings file) in this folder and restart Elvis Server to make them available in the clients and to add them to the search index.

Making a list unavailable

To (temporarily) make a taxonomy list unavailable, add a hyphen "-" as a prefix and restart Elvis Server.

Example: -keyword-list.txt

Supported taxonomy formats

The following taxonomy formats are supported in Elvis:

  • RDF
  • CSV
  • Plain text (tab-delimited)

2. Configuring a metadata field

To add the use of a taxonomy list to a metadata field, add the <taxonomy> element in the custom-assetinfo.xml file:

For information about editing this file, see Changing the Elvis 6 Server configuration for a running cluster.

<fieldExt name="tags">
        <taxonomy source="keyword-list.txt" ancestorsSelectable="false" ancestorsSearchable="true" onlyFromList="false" sort="true"/>

For more information about the XML structure of a metadata field, see The metadata structure of Elvis 6.

Note: To do this for default metadata fields, see Changing the default metadata field options in Elvis 6 Server. To do this for custom metadata fields, see Creating a custom metadata field in Elvis 6.)

  • source. This is a required field and specifies the name of the source file that contains the taxonomy terms.
  • ancestorsSelectable. When set to 'true', the user can set the parent value as the metadata value.

Example: Consider the following taxonomy structure:

  • health
  • health treatment
  • dietary supplements
  • medicine
  • herbal
  • western

When ancestorsSelectable is set to 'false', only 'dietary supplements', 'herbal' and 'western' can be chosen as a value, not 'health treatment', 'medicine' or 'health'.

When ancestorsSelectable is set to 'true', all levels in the hierarchy can be chosen as a value.

Note: When not setting this option it defaults to 'false'.

  • ancestorsSearchable. When set to 'true', it is possible to search on parent values when a child value is entered.

Example: Consider the following taxonomy structure:

  • Galaxy
  • Planet
  • Earth

When "Earth" is set as a value for the metadata field of an asset, the asset can also be found by searching for 'Planet' or 'Galaxy'.

Note: When not setting this option it defaults to 'true'.

  • onlyFromList. When set to 'true', the user can only enter options from the taxonomy list.

Note: When not setting this option it defaults to 'true'.

  • sort. When set to 'true', The taxonomy terms are sorted in alphabetical order.


  • When not setting this option it defaults to 'true'.
  • To be able to sort on a field, it has to be either un_tokenized or tokenized with a pureLowerCase analyzer and it cannot be multivalue.

The following example shows a taxonomy added for the tags field that allows the user to add custom values and is sorted on the order of the taxonomy:

<fieldExt name="tags">
        <taxonomy source="keyword-list.txt" ancestorsSelectable="true" onlyFromList="false" sort="false"/>

Editing a taxonomy list that is used in production

Changes to a taxonomy file or its settings are automatically applied after 1 minute.

Tip: A taxonomy manager can perform live edits on taxonomy files because the server does not require a restart to reflect these changes.

Was this article helpful?
0 out of 0 found this helpful / Created: / Updated:
Have more questions? Submit a request


Please sign in to leave a comment.