############################################################################### # marc.properties -- standard VuFind MARC mappings. If you wish to customize # # these settings, it is recommended that you edit # # marc_local.properties to make upgrades simpler. # ############################################################################### id = 001, first lccn = 010a, first ctrlnum = 035a collection = "Catalog" institution = "MyInstitution" building = "Library A" fullrecord = FullRecordAsJSON2 record_format = "marc" allfields = custom, getAllSearchableFieldsAsSet(100, 900) language = 008[35-37]:041a:041d:041h:041j, language_map.properties # getFormats is found in FormatCalculator.java; it determines format strings for # the record by examining the leader, 007, 008, 086, 111/711, 245h and 502. format = custom, getFormats, format_map.properties, unique # All of the *FilteredByRelator() indexing functions take the same list of # parameters: # # 1. The field specification for retrieving author names # 2. A colon-delimited list of tags whose contents should be accepted even if no # relator term is specified. # 3. Either a colon-delimited list of relator terms whose corresponding authors # should be indexed into the field, or a setting name from the [AuthorRoles] # section of author-classification.ini containing such a list. # 4. A colon-delimited list of tags whose contents should be accepted if an # unknown (not defined in author-classification.ini's [RelatorSynonyms] section) # relator term is encountered. You can set this to "none" to ignore all unknown # relator terms. Optional; defaults to the same list as parameter 2. # 5. Whether to index raw relator terms instead of mapping them according to # [RelatorSynonyms] in author-classification.ini. Default value is 'false' (do # not index raw values). # # It is VERY IMPORTANT to pass identical values for all 5 parameters to all related # fields. Thus, author/author_variant/author_role/author_sort should # all receive the same parameters, as should the groupings of # author2/author2_variant/author2_role and # author_corporate/author_corporate_role. If the parameters are not kept in sync, # the index may contain mismatched author names and relator values. # # see $VUFIND_HOME/config/vufind/author-classification.ini for relator definitions author = custom, getAuthorsFilteredByRelator(100abcqd:700abcqd,100,firstAuthorRoles) author_variant = custom, getAuthorInitialsFilteredByRelator(100a:700a,100,firstAuthorRoles) author_role = custom, getRelatorsFilteredByRelator(100abcd:700abcd,100,firstAuthorRoles) author2 = custom, getAuthorsFilteredByRelator(100abcqd:700abcqd,700,secondAuthorRoles) author2_variant = custom, getAuthorInitialsFilteredByRelator(100a:700a,700,secondAuthorRoles) author2_role = custom, getRelatorsFilteredByRelator(100abcd:700abcd,700,secondAuthorRoles) author_corporate = custom, getAuthorsFilteredByRelator(110ab:111abc:710ab:711ab,110:111:710:711,firstAuthorRoles|secondAuthorRoles) author_corporate_role = custom, getRelatorsFilteredByRelator(110ab:111abc:710ab:711ab,110:111:710:711,firstAuthorRoles|secondAuthorRoles) author_sort = custom, getFirstAuthorFilteredByRelator(100abcd:110ab:111abc:700abcd,100:110:111:700,firstAuthorRoles) author_additional = 505r title = 245ab, first title_sub = 245b, first title_short = 245a, first title_full = custom, getAllAlphaSubfields(245, first) title_auth = 245ab, first title_alt = 100t:130adfgklnpst:240a:246abnp:505t:700t:710t:711t:730adfgklnpst:740a title_old = 780ast title_new = 785ast # If titleSortLower is changed in title_sort, the normalizer in solr/vufind/biblio/conf/solrconfig.xml and # index-alphabetic-browse.sh should be changed accordingly. title_sort = 245abkp,titleSortLower,first series = 440ap:800abcdfpqt:830ap series2 = 490a # The publisher and date custom functions pull data from 260 or 264 fields. # The data in 264 will be ignored unless indicator 2 is set to 1 or 4. # See DateTools.java and PublisherTools.java for details. publisher = custom, getPublishers publishDate = custom, getDates publishDateSort = custom, getFirstDate physical = 300abcefg:530abcd dateSpan = 362a edition = 250a, first #description = contents = 505a:505t isbn = 020a:773z issn = 022a:440x:490x:730x:773x:776x:780x:785x callnumber-first = 099a[0]:090a[0]:050a[0], callnumber_map.properties, first callnumber-subject = custom, getCallNumberSubject(090a:050a), callnumber_subject_map.properties callnumber-label = custom, getCallNumberLabel(090a:050a) callnumber-sort = custom, getLCSortable(099ab:090ab:050ab) callnumber-raw = 099ab:090ab:050ab topic = custom, getAllSubfields(600:610:611:630:650:653:656, " ") genre = custom, getAllSubfields(655, " ") geographic = custom, getAllSubfields(651, " ") era = custom, getAllSubfields(648, " ") topic_facet = 600x:610x:611x:630x:648x:650a:650x:651x:655x genre_facet = 600v:610v:611v:630v:648v:650v:651v:655a:655v geographic_facet = 600z:610z:611z:630z:648z:650z:651a:651z:655z era_facet = 600d:610y:611y:630y:648a:648y:650y:651y:655y url = 856u:555u # Illustrations are identified based on the leader, 006, 008 and 300 fields. # See IllustrationTools.java for details. illustrated = custom, isIllustrated dewey-hundreds = custom, getDeweyNumber(082a:083a, 100), ddc23_map.properties(hundreds) dewey-tens = custom, getDeweyNumber(082a:083a, 10), ddc23_map.properties(tens) dewey-ones = custom, getDeweyNumber(082a:083a, 1), ddc23_map.properties(ones) dewey-full = custom, getDeweySearchable(082a:083a) dewey-sort = custom, getDeweySortable(082a:083a) dewey-raw = 082a:083a # Extract DOIs from URLs: doi_str_mv = custom, getDoisFromUrlWithRegEx(856u, "(urn:doi:|https?://doi.org/|https?://dx.doi.org/)([^?#]+)", 2) # Extract the numeric portion of the OCLC number using a pattern map: oclc_num = 035a, (pattern_map.oclc_num) pattern_map.oclc_num.pattern_0 = [(][Oo][Cc][Oo][Ll][Cc][)][^0-9]*[0]*([0-9]+)=>$1 pattern_map.oclc_num.pattern_1 = ocm[0]*([0-9]+)[ ]*[0-9]*=>$1 pattern_map.oclc_num.pattern_2 = ocn[0]*([0-9]+).*=>$1 pattern_map.oclc_num.pattern_3 = on[0]*([0-9]+).*=>$1 # Work identification keys work_keys_str_mv = custom, getWorkKeys(130anp:730anp, 240anpmr:245abn:246abn:247abn, 240anpmr:245abn, 100ab:110ab:111ac:700ab:710ab:711ac, "", "", ":: NFD; :: lower; :: Latin; :: [^[:letter:] [:number:]] Remove; :: NFKC;")