====== Solr Index Schema ====== This is a list of Solr fields defined by VuFind®. ===== Static Fields ===== ^ Field ^ Type ^ Description ^ |_version_ |long |used internally by Solr | |allfields |text |contains all searchable text from the record, useful as a catch-all in searching | |allfields_unstemmed |textProper |copyFielded from allfields; used for relevance ranking | |author |textProper |the primary authors of the work (single-valued until VuFind® 3.0, when it was made multi-valued) | |author_additional |textProper |authors from the table of contents; used for searching but not displayed | |author_browse |string |copyFielded from author, author2 and author_corporate; used for [[indexing:alphabetical_heading_browse|Alphabetical Heading Browse]] | |author_corporate |textProper |corporate authors of the work (introduced in VuFind® 3.0) | |author_corporate_role |string |same as author_role, but for author_corporate (introduced in VuFind® 3.0) | |author_facet |textFacet |author names for use in faceting; copyfielded from author, author2 and author_corporate (introduced in VuFind® 3.0 to replace authorStr) | |author_fuller |textProper |fuller form of primary authors name(s); used for searching and relevance but not displayed. This became multi-valued in VuFind® 3.0; it was single-valued prior to that. :!: Deprecated as of VuFind® 8.0 and removed in VuFind® 9.0 | |author_role |string |the roles of the primary authors of the work, generally indexed as relator codes which are translated at display time. Optional, but if populated, values should share the same order as the author element. (introduced in VuFind® 3.0) | |author_sort |string |the author name to use for sorting (introduced in VuFind® 3.0 to replace authorStr) | |author_variant |text |contains variant forms of the name(s) found in author (introduced in VuFind® 3.0) | |author2 |textProper |secondary authors of the work | |author2_fuller |textProper |same as author_fuller, but for author2 field (introduced in VuFind® 3.0) :!: Deprecated as of VuFind® 8.0 and removed in VuFind® 9.0 | |author2_role |string |same as author_role, but for the author2 field (introduced in VuFind® 3.0; replaces the previously-unused author2-role) | |author2_variant |text |same as author_variant, but for the author2 field (introduced in VuFind® 3.0) | |building |string |the building containing the item represented by the record (used for faceting) | |callnumber-first |string |a human-readable form of the broad LC call number's meaning (broader than callnumber-subject); used for browse and facet functionality | |callnumber-label |string |The lead portion of the LC call number (before the dot), normalized to uppercase; used for morelikethis and browse functionality | |callnumber-raw |string |All LC call numbers for the record (may also be used for other call number schemes with minor adaptation | |callnumber-search |callnumberSearch |copyFielded from callnumber-raw; specially processed for search purposes | |callnumber-sort |string |an LC call number normalized for sorting | |callnumber-subject |string |a human-readable form of the broad LC call number's meaning (more specific than callnumber-first) | |collection |string |name of collection containing this record (used for faceting) | |container_issue |text |issue number of item containing this record | |container_reference |text |free text reference to this items's appearance within the container (e.g. MARC 773g) | |container_start_page |text |start page of this record's appearance within the container | |container_title |text |title of item containing this record (e.g. journal title for an article-level record) | |container_volume |text |volume number of item containing this record | |contents |text |table of contents details | |ctrlnum |string |system control number (i.e. MARC 035a); currently unused | |dateSpan |string |date coverage for a record which spans a period of time (i.e. a journal -- see MARC 362a); used for display | |description |text |descriptive summary of the item (used for display) | |dewey-full |string |Dewey call numbers normalized for compatibility with VuFind®'s call number search | |dewey-hundreds |string |The Dewey number at hundreds-level precision (used for faceting) | |dewey-ones |string |The Dewey number at ones-level precision (used for faceting) | |dewey-raw |string |The raw Dewey string (for use in [[indexing:alphabetical_heading_browse|Alphabetical Heading Browse]]) | |dewey-search |callnumberSearch |copyFielded from dewey-raw; specially processed for search purposes | |dewey-sort |string |A single normalized Dewey number for use in sorting | |dewey-tens |string |The Dewey number at tens-level precision (used for faceting) | |edition |string |description of edition (single-valued); used for display | |era |text |era subject headings; used for searching (and for display in non-MARC records) | |era_facet |textFacet |used for faceting (in default MARC rules, contains subfields d and y of many subject heading fields) | |first_indexed |date |see [[indexing:tracking_record_changes|Tracking Record Changes]] | |format |string |describes the format (book, DVD, etc.) of the record for display and faceting; copyFielded to allfields and allfields_unstemmed for searching | |fullrecord |string |contains raw metadata (usually MARC) for use within VuFind®; not intended to be searchable | |fulltext |text |contains full text associated with the record; used for searching | |fulltext_unstemmed |textProper |copyFielded from fulltext; used for relevance ranking | |genre |text |genre subject headings; used for searching (and for display in non-MARC records) | |genre_facet |textFacet |used for faceting (in default MARC rules, contains subfield v of most subject heading fields) | |geographic |text |geographic subject headings; used for searching (and for display in non-MARC records) | |geographic_facet |textFacet |used for faceting (in default MARC rules, contains subfield z of most subject heading fields) | |hierarchy_browse |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |hierarchy_parent_id |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |hierarchy_parent_title |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |hierarchy_sequence |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |hierarchy_top_id |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |hierarchy_top_title |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |hierarchytype |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |id |string |unique identifier for the record | |illustrated |string |either "Illustrated" or "Not Illustrated" as appropriate (used for advanced search filtering) | |institution |string |name of institution holding record (used for faceting) | |is_hierarchy_id |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |is_hierarchy_title |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |isbn |isn |ISBN(s) for the record | |issn |isn |ISSN(s) for the record | |language |string |language(s) of the record | |last_indexed |date |see [[indexing:tracking_record_changes|Tracking Record Changes]] | |long_lat |geo | Coordinates for use in geographic features. | |long_lat_display |text | Human-readable latitude and longitude. | |long_lat_label |string | A descriptive label associated with the latitude and longitude. | |lccn |string |LCCN (single-valued) for the record | |marc_error |string |used by [[indexing:solrmarc|SolrMarc]] to store errors during indexing | |oclc_num |string |OCLC number(s) for the record | |physical |string |physical description of item (used for display) | |publishDate |string |year(s) of publication | |publishDateSort |string |a single value selected from publishDate for use in sorting result sets | |publisher |textProper |name of publisher(s) | |publisherStr |string |copyFielded from publisher; unused by default but could be used for faceting | |record_format |string |used to control which [[development:plugins:record_drivers|record driver]] is loaded to render this record (:!: This field was named recordtype prior to VuFind® 6.0; in VuFind® 6.x, you can use the recordtype and record_format fields interchangeably, but the deprecated recordtype field was completely removed in VuFind® 7.0) | |series |text |series title(s); used for search and display | |series2 |text |secondary series title(s); used for search, but only displayed when series is empty (possible candidate for future deprecation) | |spelling |textSpell |used to generate a basic spelling dictionary; copyFielded from allfields | |spellingShingle |textSpellShingle |used to generate a shingled spelling dictionary; copyFielded from author, title, contents, series, topic | |thumbnail |string |URL to a thumbnail image of the item | |title |text |title of work (including subtitle -- i.e. MARC 245a + 245b) | |title_alt |text |alternate title(s); used for searching but not currently displayed | |title_auth |text |// deprecated; apparently unused // | |title_full |text |full title statement (i.e. all alphabetical subfields of MARC 245, including author attribution, etc.) | |title_fullStr |string |copyFielded from title_full; used for [[indexing:alphabetical_heading_browse|Alphabetical Heading Browse]] | |title_full_unstemmed |textProper |copyFielded from title_full; used for relevance ranking | |title_in_hierarchy |string |see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] | |title_new |text |newer title(s) for the work (often used for journals that change name) | |title_old |text |older title(s) for the work (often used for journals that change name) | |title_short |text |short version of title (i.e. 245a in MARC) | |title_sort |string |sortable version of title (with leading articles/punctuation removed) | |title_sub |text |subtitle (i.e. 245b in MARC) | |topic |text |generic (non-era/genre/geographic) subject headings; used for searching (and for display in non-MARC records) | |topic_browse |string |copyFielded from topic; used for [[indexing:alphabetical_heading_browse|Alphabetical Heading Browse]] | |topic_facet |textFacet |used for faceting (in default MARC rules, contains subfields a and x of most subject heading fields) | |topic_unstemmed |textProper |copyFielded from topic; used for relevance ranking | |url |string |URL(s) to full text for the record | ===== Recommended Dynamic Fields ===== VuFind® looks for values in some dynamic fields that are not explicitly specified in the schema; more may be adopted in the future. * doi_str_mv - [[https://en.wikipedia.org/wiki/Digital_object_identifier|DOI]](s) for the record * hierarchy_all_parents_str_mv - can be populated to allow "deep searching" of collections; see [[indexing:hierarchies_and_collections|Hierarchies and Collections]] for details. * previous_id_str_mv - the Solr [[development:plugins:fallback_record_loaders|fallback record loader]] can be configured to use this field (or any other field) as a backup source of record IDs; this functionality is disabled by default and was introduced in VuFind® 8.1. * upc_str_mv - UPC code(s) for the record * uuid_str_mv - UUIDs (Universally unique identifiers) for the record. These are commonly used in, for example, digital library or repository systems and can be a useful match point with third party systems. ===== Dynamic Field Suffixes ===== All of VuFind®'s dynamic fields are configured to be both stored and indexed (to avoid proliferation of confusing suffixes). Each suffix represents a particular field type (detailed below) and may be multiValued if given the _mv suffix. ^ Field ^ Type ^ |*_autocomplete |single-valued field for use by SolrPrefix autocomplete handler (added in VuFind® 8.0) | |*_date |single date | |*_date_mv |multiValued date | |*_geo |single geo-data | |*_geo_mv |multiValued geo-data | |*_isn |single isn | |*_isn_mv |multiValued isn | |*_str |single string | |*_str_mv |multiValued string | |*_txt |single text | |*_txt_mv |multiValued text | |*_txtF |single textFacet | |*_txtF_mv |multiValued textFacet | |*_txtP |single textProper | |*_txtP_mv |multiValued textProper | |*_random |single random | |*_boolean |single boolean | For more details on dynamic fields, see the [[http://vufind.org/jira/browse/VUFIND-480|VUFIND-480]] JIRA ticket. ===== Changelog ===== ==== VuFind® 10.0 ==== Support was added for the optional hierarchy_all_parents_str_mv dynamic field. The url field was changed to be ''indexed="true"'' so that its contents can be searched. ==== VuFind® 9.0 ==== The author_fuller and author2_fuller fields were removed. The author and author_variant fields have had storeOffsetsWithPositions="true" added, to fix a highlighting problem introduced by Solr 9 (highlighting fails if termVectors is true and storeOffsetsWithPositions is not true). ==== VuFind® 8.1 ==== Support was added for the previous_id_str_mv and uuid_str_mv dynamic fields. ==== VuFind® 8.0 ==== The author_fuller and author2_fuller fields were deprecated, and MARC indexing for author and author2 was adjusted to include subfield q (see [[https://github.com/vufind-org/vufind/pull/1782|pull request #1782]]). The *_autocomplete dynamic field suffix was added to support the new SolrPrefix autocomplete handler. ==== VuFind® 7.0 ==== The deprecated recordtype field was completely removed; record_format MUST be used instead starting with this release. ==== VuFind® 6.0 ==== The recordtype field was renamed to record_format (and is now indexed as well as stored, to facilitate format-based filtering). ==== VuFind® 4.0 ==== The author_facet field is now stored as well as indexed for consistency with other facet fields. Improved geographic features of the schema: * Changed long_lat field type from textFacet to geo * Eliminated use of the dynamic location_geo field within the code * Corrected the *_geo suffix to be single-valued for consistency * Added *_geo_mv ==== VuFind® 3.1 ==== Added the geo field type, the *_geo dynamic field suffix, and the long_lat_display / long_lat_label fields. Made long_lat multi-valued. ==== VuFind® 3.0 ==== These fields were removed: ^ Field ^ Type ^ Description ^ |author-letter |string |// deprecated; apparently unused // | |author2-role |string |// deprecated; apparently unused // | |author2Str |string |copyFielded from author2; unused by default but could be used for faceting | |authorStr |textFacet |copyFielded from author; used for faceting and sorting | |author_additionalStr |string |copyFielded from author_additional; // deprecated; apparently unused; could be used for faceting but unlikely to be useful due to poorly structured data // | These fields were added: * author_variant * author_role * author_facet * author_sort * author_corporate * author_corporate_role * author2_fuller * author2_role * author2_variant Support was added for this dynamic field: * doi_str_mv Other changes: * author and author_fuller fields are now multi-valued. * hierarchy_browse was changed from type TextFacetRaw to type string (the TextFacetRaw field type was unnecessary and has been removed). ==== VuFind® 2.4 ==== This release simplified and improved call number handling. These fields were removed: ^ Field ^ Type ^ Description ^ |callnumber |string |LC call numbers normalized for compatibility with VuFind®'s call number search | |callnumber-a |string |the first portion of the LC call number; used for display and browse | |callnumber-first-code |string |never used | |callnumber-subject-code |string |never used | |dewey-sort-browse |string |sort keys for use by [[indexing:alphabetical_heading_browse|Alphabetical Heading Browse]] | These fields were added: * callnumber-raw * callnumber-search * callnumber-sort * dewey-search