<?xml version="1.0" encoding="UTF-8" ?>
<schema name="Stanford Searchworks Index" version="1.1">
  <types>
    <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true" />
    <fieldtype name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true" />
    <fieldtype name="integer" class="solr.IntField" omitNorms="true" />
    <fieldtype name="long" class="solr.LongField" omitNorms="true" />
    <fieldtype name="float" class="solr.FloatField" omitNorms="true" />
    <fieldtype name="double" class="solr.DoubleField" omitNorms="true" />
    <fieldtype name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true" />
    <fieldtype name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true" />
    <fieldtype name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true" />
    <fieldtype name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true" />
    <fieldtype name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true" />
    <fieldType name="random" class="solr.RandomSortField" indexed="true" />
    <fieldtype name="text_ws" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
      </analyzer>
    </fieldtype>

    <!-- Analyzed Text, general case -->
    <fieldtype name="text" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="schema.UnicodeNormalizationFilterFactory" version="icu4j" composed="false" remove_diacritics="true" remove_modifiers="true" fold="true" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="schema.UnicodeNormalizationFilterFactory" version="icu4j" composed="false" remove_diacritics="true" remove_modifiers="true" fold="true" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
      </analyzer>
    </fieldtype>

    <!-- Analyzed Text, no Stemming or Synonyms -->
    <fieldtype name="textNoStem" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="schema.UnicodeNormalizationFilterFactory" version="icu4j" composed="false" remove_diacritics="true" remove_modifiers="true" fold="true" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
      </analyzer>
    </fieldtype>
    
    <!-- analyzed text, for sorting.  Punctuation is significant. -->
    <fieldtype name="alphaSort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
      <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory" />
        <filter class="schema.UnicodeNormalizationFilterFactory" version="icu4j" composed="false" remove_diacritics="true" remove_modifiers="true" fold="true" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.TrimFilterFactory" />
<!-- 
        <filter class="solr.PatternReplaceFilterFactory" pattern="([&quot;,\.])" replacement="" replace="all" />
-->
      </analyzer>
    </fieldtype>
    
    <!-- Analyzed Text, whitespace token separation and lower case only -->
    <!-- also stopwords so dismax doesn't look for stopwords in these fields -->
    <fieldType name="text_wslc" class="solr.TextField" omitNorms="true">
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="schema.UnicodeNormalizationFilterFactory" version="icu4j" composed="false" remove_diacritics="true" remove_modifiers="true" fold="true" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory" />
      </analyzer>
    </fieldType>

    <!-- single token with stopwords removed so dismax doesn't look for stopwords in these fields-->
    <fieldType name="string_no_stop" class="solr.TextField" omitNorms="true">
      <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory" />
        <filter class="schema.UnicodeNormalizationFilterFactory" version="icu4j" composed="false" remove_diacritics="true" remove_modifiers="true" fold="true" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
      </analyzer>
    </fieldType>

    <!-- simple analysis for spell checking -->
    <fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="schema.UnicodeNormalizationFilterFactory" version="icu4j" composed="false" remove_diacritics="true" remove_modifiers="true" fold="true" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.StandardFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
      </analyzer>
    </fieldType>

<!--
    <fieldtype name="phonetic" stored="false" indexed="true" class="solr.TextField" >
      <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
      </analyzer>
    </fieldtype> 
-->

  </types>

  <fields>
    <!-- id: Unique id for indexed document -->
    <field name="id" type="string_no_stop" indexed="true" stored="true" required="true" />
    <field name="created" type="date" indexed="true" stored="true" default="NOW/SECOND" />
    <field name="last_updated" type="date" indexed="true" stored="true" default="NOW/SECOND" />
    <!-- entire marc bib record, in raw marc21 -->
    <field name="marc21" type="string" indexed="false" stored="true" />
    <!-- collection: allow searching within collections for aggr. colls, also used for get all docs -->
    <field name="collection" type="string" indexed="true" stored="true" multiValued="true" omitNorms="true" />
    <field name="all_search" type="text" indexed="true" stored="false" />
    <!-- spell check / did you mean fields -->
    <!-- default spell is single valued b/c all_search is single valued -->
    <field name="spell" type="textSpell" indexed="true" stored="true" omitNorms="true" />
    <field name="spell_title" type="textSpell" indexed="true" stored="true" multiValued="true" omitNorms="true" />
    <field name="spell_author" type="textSpell" indexed="true" stored="true" multiValued="true" omitNorms="true" />
    <field name="spell_subject" type="textSpell" indexed="true" stored="true" multiValued="true" omitNorms="true" />
    <!-- for OpenSearch string completion; requires a stored field -->
    <field name="open_search" type="text" indexed="true" stored="true" multiValued="true"/>

    <!-- Format Field: facet and display -->
    <field name="format" type="string" indexed="true" stored="true" multiValued="true" />

    <!-- Language Field: facet and display -->
    <field name="language" type="string" indexed="true" stored="true" multiValued="true" />

    <!-- Standard Number Fields -->
    <!-- allow end users to search our index by ISBN and ISSN; more values than
        display isbn/issn.-->
    <field name="isbn_search" type="text_wslc" indexed="true" stored="false" multiValued="true" omitNorms="true" />
    <!-- text for issn to accommodate hyphen present or not -->
    <field name="issn_search" type="text" indexed="true" stored="false" multiValued="true" omitNorms="true"/>
    <!-- display fields to allow external lookups (e.g. Google book search, xISBN, xISSN ...) -->
    <field name="isbn_display" type="string" indexed="false" stored="true" multiValued="true" />
    <field name="issn_display" type="string" indexed="false" stored="true" multiValued="true" />
    <field name="lccn" type="string" indexed="false" stored="true" />
    <field name="oclc" type="text_wslc" indexed="true" stored="true" multiValued="true" />

    <!-- Title Search Fields -->
    <field name="title_245a_search" type="text" indexed="true" stored="false" />
    <field name="vern_title_245a_search" type="textNoStem" indexed="true" stored="false" />
    <field name="title_245a_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="title_245_search" type="text" indexed="true" stored="false" />
    <field name="vern_title_245_search" type="textNoStem" indexed="true" stored="false" />
    <field name="title_245_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="title_uniform_search" type="text" indexed="true" stored="false" />
    <field name="vern_title_uniform_search" type="textNoStem" indexed="true" stored="false" />
    <field name="title_uniform_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="title_variant_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_title_variant_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="title_variant_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="title_related_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_title_related_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="title_related_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />

<!-- TODO:  revisions to series search!!!! -->
    <field name="title_series_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_title_series_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="title_series_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    
    <!-- Title Display fields -->
    <field name="title_display" type="string" indexed="false" stored="true" />
    <field name="vern_title_display" type="string" indexed="false" stored="true" />
    <field name="title_245a_display" type="string" indexed="false" stored="true" />
    <field name="vern_title_245a_display" type="string" indexed="false" stored="true" />
    <field name="title_245c_display" type="string" indexed="false" stored="true" />
    <field name="vern_title_245c_display" type="string" indexed="false" stored="true" />
    <field name="title_full_display" type="string" indexed="false" stored="true" />
    <field name="vern_title_full_display" type="string" indexed="false" stored="true" />
    <field name="title_uniform_display" type="string" indexed="false" stored="true" />
    <field name="vern_title_uniform_display" type="string" indexed="false" stored="true" />

    <field name="title_sort" type="alphaSort" indexed="true" stored="true" />

    <!-- Author Search Fields -->
    <field name="author_1xx_search" type="text" indexed="true" stored="false" />
    <field name="vern_author_1xx_search" type="textNoStem" indexed="true" stored="false" />
    <field name="author_1xx_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="author_7xx_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_author_7xx_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="author_7xx_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="author_8xx_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_author_8xx_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="author_8xx_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    
    <!-- Author Facet Fields -->
    <field name="author_person_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="author_corp_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="author_meeting_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="author_other_facet" type="string" indexed="true" stored="false" multiValued="true" />

    <field name="author_sort" type="alphaSort" indexed="true" stored="false" />

    <!-- Author Display Fields -->
    <field name="author_person_display" type="string" indexed="false" stored="true" />
    <field name="vern_author_person_display" type="string" indexed="false" stored="true" />
    <field name="author_person_full_display" type="string" indexed="false" stored="true" />
    <field name="vern_author_person_full_display" type="string" indexed="false" stored="true" />
    <field name="author_corp_display" type="string" indexed="false" stored="true" />
    <field name="vern_author_corp_display" type="string" indexed="false" stored="true" />
    <field name="author_meeting_display" type="string" indexed="false" stored="true" />
    <field name="vern_author_meeting_display" type="string" indexed="false" stored="true" />
    
    <!--  Subject Search Fields -->
    <field name="topic_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_topic_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="topic_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="topic_subx_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_topic_subx_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="topic_subx_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="geographic_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_geographic_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="geographic_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="geographic_subz_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_geographic_subz_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="geographic_subz_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="subject_other_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_subject_other_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="subject_other_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="subject_other_subvy_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_subject_other_subvy_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="subject_other_subvy_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    
    <!-- Subject Facet Fields -->
    <field name="topic_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="geographic_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="era_facet" type="string" indexed="true" stored="false" multiValued="true" />

    <!-- Series Search Fields -->
    <field name="series_title_search" type="text" indexed="true" stored="false" multiValued="true"/>
    <field name="vern_series_title_search" type="text" indexed="true" stored="false" multiValued="true"/>
    <field name="series_person_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_series_person_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="series_org_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_series_org_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="series_proc_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_series_proc_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="series_anything_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_series_anything_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="series_anything490_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_series_anything490_search" type="text" indexed="true" stored="false" multiValued="true" />

    <!-- Publishing Fields -->
    <field name="pub_search" type="text" indexed="true" stored="false" omitNorms="true" multiValued="true"/>
    <field name="vern_pub_search" type="textNoStem" indexed="true" stored="false" omitNorms="true" multiValued="true"/>
    <field name="pub_country" type="text" indexed="true" stored="false" omitNorms="true"/>
    <!-- TODO: should pub_date_search be a date or a text field? -->
    <field name="pub_date_search" type="text" indexed="true" stored="false" omitNorms="true"/>
    <field name="pub_date_sort" type="alphaSort" indexed="true" stored="false" />
    <!-- Pub Date Facet Fields -->
    <field name="pub_date_group_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <!-- pub_date is facet and display -->
    <field name="pub_date" type="string" indexed="true" stored="true" />
    
    <!-- URL Fields -->
    <field name="url_fulltext" type="string" indexed="false" stored="true" multiValued="true"/>
    <field name="url_suppl" type="string" indexed="false" stored="true" multiValued="true"/>
    <!-- sfx urls should rarely occur more than once in a marc bib record -->
    <field name="url_sfx" type="string" indexed="false" stored="true" multiValued="true" />

    <!-- Physical Fields -->
    <field name="physical" type="text" indexed="true" stored="true" multiValued="true" />
    <field name="vern_physical" type="textNoStem" indexed="true" stored="true" multiValued="true" />
    
    <!-- Table of Contents -->
    <field name="toc_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_toc_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="toc_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <!-- Context -->
    <field name="context_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_context_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="context_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <!-- Summary -->
    <field name="summary_search" type="text" indexed="true" stored="false" multiValued="true" />
    <field name="vern_summary_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    <field name="summary_unstem_search" type="textNoStem" indexed="true" stored="false" multiValued="true" />
    
    <!-- Item Info Fields (derived from 999) -->
    <!-- Call Number Fields -->
    <field name="callnum_top_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="lc_alpha_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="lc_b4cutter_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="dewey_1digit_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="dewey_2digit_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="dewey_b4cutter_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="gov_doc_type_facet" type="string" indexed="true" stored="false" multiValued="true" />

    <field name="callnum_search" type="text_wslc" indexed="true" stored="false" multiValued="true"/>
    
    <!-- for nearby on shelf:  term lookups to get next X alpha sorted terms -->
    <field name="shelfkey" type="alphaSort" indexed="true" stored="false" multiValued="true"/>
    <field name="reverse_shelfkey" type="alphaSort" indexed="true" stored="false" multiValued="true"/>
    
    <field name="barcode_search" type="text_wslc" indexed="true" stored="false" multiValued="true" />
    <field name="preferred_barcode" type="string" indexed="false" stored="true" />
    <field name="access_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <field name="building_facet" type="string" indexed="true" stored="false" multiValued="true" />
    <!-- barcode -|- lib -|- location -|- lopped_callnum -|- shelfkey -|- reverse_shelfkey -|- full_callnum -|- callnum_show_sort  -->
    <field name="item_display" type="string" indexed="false" stored="true" multiValued="true" />
    
  </fields>

  <uniqueKey>id</uniqueKey>
  <defaultSearchField>all_search</defaultSearchField>

  <copyField source="author_corp_facet" dest="author_other_facet" />
  <copyField source="author_meeting_facet" dest="author_other_facet" />
  <copyField source="pub_date" dest="pub_date_search" />
  <!-- unstemmed search fields: title -->
  <copyField source="title_245a_search" dest="title_245a_unstem_search" />
  <copyField source="title_245_search" dest="title_245_unstem_search" />
  <copyField source="title_uniform_search" dest="title_uniform_unstem_search" />
  <copyField source="title_variant_search" dest="title_variant_unstem_search" />
  <copyField source="title_related_search" dest="title_related_unstem_search" />
  <copyField source="title_series_search" dest="title_series_unstem_search" />
  <!-- unstemmed search fields: author -->  
  <copyField source="author_1xx_search" dest="author_1xx_unstem_search" />
  <copyField source="author_7xx_search" dest="author_7xx_unstem_search" />
  <copyField source="author_8xx_search" dest="author_8xx_unstem_search" />
  <!-- unstemmed search fields: subject -->
  <copyField source="topic_search" dest="topic_unstem_search" />
  <copyField source="topic_subx_search" dest="topic_subx_unstem_search" />
  <copyField source="geographic_search" dest="geographic_unstem_search" />
  <copyField source="geographic_subz_search" dest="geographic_subz_unstem_search" />
  <copyField source="subject_other_search" dest="subject_other_unstem_search" />
  <copyField source="subject_other_subvy_search" dest="subject_other_subvy_unstem_search" />
  <!-- unstemmed search fields: toc/summary -->
  <copyField source="toc_search" dest="toc_unstem_search" />
  <copyField source="context_search" dest="context_unstem_search" />
  <copyField source="summary_search" dest="summary_unstem_search" />
  
  <!-- Spell copyFields -->
  <copyField source="all_search" dest="spell" />
  <!-- these should match the fields searched in the search_title request handler -->
  <copyField source="title_245a_search" dest="spell_title" />
  <copyField source="vern_title_245a_search" dest="spell_title" />
  <copyField source="title_245_search" dest="spell_title" />
  <copyField source="vern_title_245_search" dest="spell_title" />
  <copyField source="title_uniform_search" dest="spell_title" />
  <copyField source="vern_title_uniform_search" dest="spell_title" />
  <copyField source="title_variant_search" dest="spell_title" />
  <copyField source="vern_title_variant_search" dest="spell_title" />
  <copyField source="title_related_search" dest="spell_title" />
  <copyField source="vern_title_related_search" dest="spell_title" />
  <copyField source="title_series_search" dest="spell_title" />
  <copyField source="vern_title_series_search" dest="spell_title" />
  <!-- these should match the fields searched in the search_author request handler -->
  <copyField source="author_1xx_search" dest="spell_author" />
  <copyField source="vern_author_1xx_search" dest="spell_author" />
  <copyField source="author_7xx_search" dest="spell_author" />
  <copyField source="vern_author_7xx_search" dest="spell_author" />
  <copyField source="author_8xx_search" dest="spell_author" />
  <copyField source="vern_author_8xx_search" dest="spell_author" />
  <!-- these should match the fields searched in the search_subject request handler -->
  <copyField source="topic_search" dest="spell_subject" />
  <copyField source="vern_topic_search" dest="spell_subject" />
  <copyField source="geographic_search" dest="spell_subject" />
  <copyField source="vern_geographic_search" dest="spell_subject" />
  <copyField source="subject_other_search" dest="spell_subject" />
  <copyField source="vern_subject_other_search" dest="spell_subject" />
  <copyField source="topic_subx_search" dest="spell_subject" />
  <copyField source="vern_topic_subx_search" dest="spell_subject" />
  <copyField source="geographic_subz_search" dest="spell_subject" />
  <copyField source="vern_geographic_subz_search" dest="spell_subject" />
  <copyField source="subject_other_subvy_search" dest="spell_subject" />
  <copyField source="vern_subject_other_subvy_search" dest="spell_subject" /> 
  
  <!-- field to populate OpenSearch queries -->
  <copyField source="title_245_search" dest="open_search" />
  <copyField source="title_uniform_search" dest="open_search" />
  <copyField source="title_variant_search" dest="open_search" />
  <copyField source="title_related_search" dest="open_search" />
  <copyField source="title_series_search" dest="open_search" />
  <copyField source="author_1xx_search" dest="open_search" />
  <copyField source="author_7xx_search" dest="open_search" />
  <copyField source="author_8xx_search" dest="open_search" />
  <copyField source="topic_search" dest="open_search" />
  <copyField source="topic_subx_search" dest="open_search" />
  <copyField source="geographic_search" dest="open_search" />
  <copyField source="geographic_subz_search" dest="open_search" />
  <copyField source="subject_other_search" dest="open_search" />
  <copyField source="subject_other_subvy_search" dest="open_search" />
  
  <solrQueryParser defaultOperator="AND" />
</schema>
