diff --git a/exhibits_prod/_rest_managed.json b/exhibits_prod/_rest_managed.json
new file mode 100644
index 0000000..e7ada3f
--- /dev/null
+++ b/exhibits_prod/_rest_managed.json
@@ -0,0 +1,3 @@
+{
+ "initArgs":{},
+ "managedList":[]}
\ No newline at end of file
diff --git a/exhibits_prod/schema.xml b/exhibits_prod/schema.xml
new file mode 100644
index 0000000..07a84e3
--- /dev/null
+++ b/exhibits_prod/schema.xml
@@ -0,0 +1,625 @@
+
+
+ id
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/exhibits_prod/solrconfig.xml b/exhibits_prod/solrconfig.xml
new file mode 100644
index 0000000..b853f24
--- /dev/null
+++ b/exhibits_prod/solrconfig.xml
@@ -0,0 +1,980 @@
+
+
+
+
+ ${solr.abortOnConfigurationError:true}
+
+ 8.0.0
+
+
+
+
+
+ ${solr.core0.data.dir:}
+
+
+
+
+
+
+ ${solr.data.dir:}
+
+
+
+
+ edismax
+ explicit
+ score desc, pub_year_isi desc, title_sort asc
+ 20
+ *:*
+ 6<-1 6<90%
+ 1
+ 0
+ 0.01
+ false
+
+ all_search
+ AND
+
+
+ title_245a_exact_search^1000
+ title_245a_unstem_search^500
+ title_245a_search^75 vern_title_245a_search^75
+ title_245_unstem_search^75
+ title_245_search^50 vern_title_245_search^50
+ title_uniform_unstem_search^50
+ title_uniform_search^20 vern_title_uniform_search^20
+ title_variant_unstem_search^20
+ title_variant_search^15 vern_title_variant_search^15
+ title_related_unstem_search^15
+ title_related_search^10 vern_title_related_search^10
+ series_exact_search^10
+ series_unstem_search^5
+ series_search^2 vern_series_search^2
+
+ author_1xx_unstem_search^25
+ author_1xx_search^20 vern_author_1xx_search^20
+ author_7xx_unstem_search^20
+ author_7xx_search^10 vern_author_7xx_search^10
+ author_8xx_unstem_search^10
+ author_8xx_search^5 vern_author_8xx_search^5
+
+ topic_unstem_search^50
+ topic_search^20 vern_topic_search^20
+ geographic_unstem_search^20
+ geographic_search^10 vern_geographic_search^10
+ subject_other_unstem_search^10
+ subject_other_search^5 vern_subject_other_search^5
+ db_az_subject_search^5
+ topic_subx_unstem_search^5
+ topic_subx_search^2 vern_topic_subx_search^2
+ geographic_subz_unstem_search^5
+ geographic_subz_search^2 vern_geographic_subz_search^2
+ subject_other_subvy_unstem_search^5
+ subject_other_subvy_search^2 vern_subject_other_subvy_search^2
+ subject_all_unstem_search^5
+ subject_all_search^2 vern_subject_all_search^2
+
+ toc_unstem_search^5
+ toc_search^2 vern_toc_search^2
+ context_unstem_search^5
+ context_search^2 vern_context_search^2
+ summary_unstem_search^5
+ summary_search^2 vern_summary_search^2
+
+ pub_date_search^2
+ isbn_search^1.5
+ issn_search^1.5
+ id_search
+ druid
+ oclc
+ barcode_search
+ physical vern_physical
+ award_search
+ collection_search
+ all_unstem_search^5
+ modsxml_tsi
+ all_search vern_all_search
+ full_text_unstem_search^2.5
+ full_text_search^0.5
+ full_text_search_en^0.5
+ full_text_search_pt^0.5
+ full_text_search_id^0.5
+
+
+ title_245a_exact_search^5000
+ title_245a_unstem_search^2500
+ title_245a_search^375 vern_title_245a_search^375
+ title_245_unstem_search^375
+ title_245_search^250 vern_title_245_search^250
+ title_uniform_unstem_search^250
+ title_uniform_search^100 vern_title_uniform_search^100
+ title_variant_unstem_search^100
+ title_variant_search^75 vern_title_variant_search^75
+ title_related_unstem_search^75
+ title_related_search^50 vern_title_related_search^50
+ series_exact_search^50
+ series_unstem_search^25
+ series_search^10 vern_series_search^10
+
+ author_1xx_unstem_search^125
+ author_1xx_search^100 vern_author_1xx_search^100
+ author_7xx_unstem_search^100
+ author_7xx_search^50 vern_author_7xx_search^50
+ author_8xx_unstem_search^50
+ author_8xx_search^25 vern_author_8xx_search^25
+
+ topic_unstem_search^250
+ topic_search^100 vern_topic_search^100
+ geographic_unstem_search^100
+ geographic_search^50 vern_geographic_search^50
+ subject_other_unstem_search^50
+ subject_other_search^25 vern_subject_other_search^25
+ db_az_subject_search^25
+ topic_subx_unstem_search^25
+ topic_subx_search^10 vern_topic_subx_search^10
+ geographic_subz_unstem_search^25
+ geographic_subz_search^10 vern_geographic_subz_search^10
+ subject_other_subvy_unstem_search^25
+ subject_other_subvy_search^10 vern_subject_other_subvy_search^10
+ subject_all_unstem_search^25
+ subject_all_search^10 vern_subject_all_search^10
+
+ toc_unstem_search^25
+ toc_search^10 vern_toc_search^10
+ context_unstem_search^25
+ context_search^10 vern_context_search^10
+ summary_unstem_search^25
+ summary_search^10 vern_summary_search^10
+
+ pub_date_search^10
+ issn_search^7.5
+ physical^5 vern_physical^5
+ award_search^5
+ collection_search^5
+ all_unstem_search^25
+ modsxml_tsi^5
+ all_search^5 vern_all_search^5
+ full_text_unstem_search^12.5
+ full_text_search^2.5
+ full_text_search_en^2.5
+ full_text_search_pt^2.5
+ full_text_search_id^2.5
+
+
+ title_245a_search^1500 vern_title_245a_search^1500
+ title_245_search^225 vern_title_245_search^225
+ title_uniform_search^150 vern_title_uniform_search^150
+ title_variant_search^60 vern_title_variant_search^60
+ title_related_search^45 vern_title_related_search^45
+ series_search^30 vern_series_search^30
+
+ author_1xx_search^75 vern_author_1xx_search^75
+ author_7xx_search^60 vern_author_7xx_search^60
+ author_8xx_search^30 vern_author_8xx_search^30
+
+ topic_search^150 vern_topic_search^150
+ geographic_search^60 vern_geographic_search^60
+ subject_other_search^30 vern_subject_other_search^30
+ db_az_subject_search^15
+ topic_subx_search^15 vern_topic_subx_search^15
+ geographic_subz_search^15 vern_geographic_subz_search^15
+ subject_other_subvy_search^15 vern_subject_other_subvy_search^15
+ subject_all_search^15 vern_subject_all_search^15
+
+ toc_search^7.5 vern_toc_search^7.5
+ context_search^7.5 vern_context_search^7.5
+ summary_search^7.5 vern_summary_search^7.5
+ physical^3 vern_physical^3
+ award_search^3
+ collection_search^3
+ modsxml_tsi^3
+ all_search^3 vern_all_search^3
+ full_text_search^1.5
+ full_text_search_en^1.5
+ full_text_search_pt^1.5
+ full_text_search_id^1.5
+
+
+ title_245a_search^1000 vern_title_245a_search^1000
+ title_245_search^150 vern_title_245_search^150
+ title_uniform_search^100 vern_title_uniform_search^100
+ title_variant_search^40 vern_title_variant_search^40
+ title_related_search^30 vern_title_related_search^30
+ series_search^20 vern_series_search^20
+
+ author_1xx_search^50 vern_author_1xx_search^50
+ author_7xx_search^40 vern_author_7xx_search^40
+ author_8xx_search^20 vern_author_8xx_search^20
+
+ topic_search^100 vern_topic_search^100
+ geographic_search^40 vern_geographic_search^40
+ subject_other_search^20 vern_subject_other_search^20
+ db_az_subject_search^10
+ topic_subx_search^10 vern_topic_subx_search^10
+ geographic_subz_search^10 vern_geographic_subz_search^10
+ subject_other_subvy_search^10 vern_subject_other_subvy_search^10
+ subject_all_search^10 vern_subject_all_search^10
+
+ toc_search^5 vern_toc_search^5
+ context_search^5 vern_context_search^5
+ summary_search^5 vern_summary_search^5
+ physical^2 vern_physical^2
+ award_search^2
+ collection_search^2
+ modsxml_tsi^2
+ all_search^2 vern_all_search^2
+ full_text_search
+ full_text_search_en
+ full_text_search_pt
+ full_text_search_id
+
+
+
+ title_245a_exact_search^1000
+ title_245a_unstem_search^500
+ title_245a_search^75 vern_title_245a_search^75 cjk_title_245a_search^75
+ title_245_unstem_search^75
+ title_245_search^50 vern_title_245_search^50 cjk_title_245_search^50
+ title_uniform_unstem_search^50
+ title_uniform_search^20 vern_title_uniform_search^20 cjk_title_uniform_search^20
+ title_variant_unstem_search^20
+ title_variant_search^15 vern_title_variant_search^15 cjk_title_variant_search^15
+ title_related_unstem_search^15
+ title_related_search^10 vern_title_related_search^10 cjk_title_related_search^10
+ series_exact_search^10
+ series_unstem_search^5
+ series_search^2 vern_series_search^2 cjk_series_search^2
+
+ author_1xx_unstem_search^25
+ author_1xx_search^20 vern_author_1xx_search^20 cjk_author_1xx_search^20
+ author_7xx_unstem_search^20
+ author_7xx_search^10 vern_author_7xx_search^10 cjk_author_7xx_search^10
+ author_8xx_unstem_search^10
+ author_8xx_search^5 vern_author_8xx_search^5 cjk_author_8xx_search^5
+
+ topic_unstem_search^50
+ topic_search^20 vern_topic_search^20 cjk_topic_search^20
+ geographic_unstem_search^20
+ geographic_search^10 vern_geographic_search^10 cjk_geographic_search^10
+ subject_other_unstem_search^10
+ subject_other_search^5 vern_subject_other_search^5 cjk_subject_other_search^5
+ db_az_subject_search^5
+ topic_subx_unstem_search^5
+ topic_subx_search^2 vern_topic_subx_search^2 cjk_topic_subx_search^2
+ geographic_subz_unstem_search^5
+ geographic_subz_search^2 vern_geographic_subz_search^2 cjk_geographic_subz_search^2
+ subject_other_subvy_unstem_search^5
+ subject_other_subvy_search^2 vern_subject_other_subvy_search^2 cjk_subject_other_subvy_search^2
+ subject_all_unstem_search^5
+ subject_all_search^2 vern_subject_all_search^2 cjk_subject_all_search^2
+
+ toc_unstem_search^5
+ toc_search^2 vern_toc_search^2 cjk_toc_search^2
+ context_unstem_search^5
+ context_search^2 vern_context_search^2 cjk_context_search^2
+ summary_unstem_search^5
+ summary_search^2 vern_summary_search^2 cjk_summary_search^2
+
+ pub_date_search^2
+ isbn_search^1.5
+ issn_search^1.5
+ id_search
+ oclc
+ barcode_search
+ physical vern_physical cjk_physical_search
+ award_search
+ collection_search
+ all_unstem_search^5
+ modsxml_tsi
+ all_search vern_all_search cjk_all_search
+
+
+ title_245a_exact_search^5000
+ title_245a_unstem_search^2500
+ title_245a_search^375 vern_title_245a_search^375 cjk_title_245a_search^375
+ title_245_unstem_search^375
+ title_245_search^250 vern_title_245_search^250 cjk_title_245_search^250
+ title_uniform_unstem_search^250
+ title_uniform_search^100 vern_title_uniform_search^100 cjk_title_uniform_search^100
+ title_variant_unstem_search^100
+ title_variant_search^75 vern_title_variant_search^75 cjk_title_variant_search^75
+ title_related_unstem_search^75
+ title_related_search^50 vern_title_related_search^50 cjk_title_related_search^50
+ series_exact_search^50
+ series_unstem_search^25
+ series_search^10 vern_series_search^10 cjk_series_search^10
+
+ author_1xx_unstem_search^125
+ author_1xx_search^100 vern_author_1xx_search^100 cjk_author_1xx_search^100
+ author_7xx_unstem_search^100
+ author_7xx_search^50 vern_author_7xx_search^50 cjk_author_7xx_search^50
+ author_8xx_unstem_search^50
+ author_8xx_search^25 vern_author_8xx_search^25 cjk_author_8xx_search^25
+
+ topic_unstem_search^250
+ topic_search^100 vern_topic_search^100 cjk_topic_search^100
+ geographic_unstem_search^100
+ geographic_search^50 vern_geographic_search^50 cjk_geographic_search^50
+ subject_other_unstem_search^50
+ subject_other_search^25 vern_subject_other_search^25 cjk_subject_other_search^25
+ db_az_subject_search^25
+ topic_subx_unstem_search^25
+ topic_subx_search^10 vern_topic_subx_search^10 cjk_topic_subx_search^10
+ geographic_subz_unstem_search^25
+ geographic_subz_search^10 vern_geographic_subz_search^10 cjk_geographic_subz_search^10
+ subject_other_subvy_unstem_search^25
+ subject_other_subvy_search^10 vern_subject_other_subvy_search^10 cjk_subject_other_subvy_search^10
+ subject_all_unstem_search^25
+ subject_all_search^10 vern_subject_all_search^10 cjk_subject_all_search^10
+
+ toc_unstem_search^25
+ toc_search^10 vern_toc_search^10 cjk_toc_search^10
+ context_unstem_search^25
+ context_search^10 vern_context_search^10 cjk_context_search^10
+ summary_unstem_search^25
+ summary_search^10 vern_summary_search^10 cjk_summary_search^10
+
+ pub_date_search^10
+ issn_search^7.5
+ physical^5 vern_physical^5 cjk_physical_search^5
+ award_search^5
+ collection_search^5
+ all_unstem_search^25
+ modsxml_tsi^5
+ all_search^5 vern_all_search^5 cjk_all_search^5
+
+
+ title_245a_search^1500 vern_title_245a_search^1500 cjk_title_245a_search^1500
+ title_245_search^225 vern_title_245_search^225 cjk_title_245_search^225
+ title_uniform_search^150 vern_title_uniform_search^150 cjk_title_uniform_search^150
+ title_variant_search^60 vern_title_variant_search^60 cjk_title_variant_search^60
+ title_related_search^45 vern_title_related_search^45 cjk_title_related_search^45
+ series_search^30 vern_series_search^30 cjk_series_search^30
+
+ author_1xx_search^75 vern_author_1xx_search^75 cjk_author_1xx_search^75
+ author_7xx_search^60 vern_author_7xx_search^60 cjk_author_7xx_search^60
+ author_8xx_search^30 vern_author_8xx_search^30 cjk_author_8xx_search^30
+
+ topic_search^150 vern_topic_search^150 cjk_topic_search^150
+ geographic_search^60 vern_geographic_search^60 cjk_geographic_search^60
+ subject_other_search^30 vern_subject_other_search^30 cjk_subject_other_search^30
+ db_az_subject_search^15
+ topic_subx_search^15 vern_topic_subx_search^15 cjk_topic_subx_search^15
+ geographic_subz_search^15 vern_geographic_subz_search^15 cjk_geographic_subz_search^15
+ subject_other_subvy_search^15 vern_subject_other_subvy_search^15 cjk_subject_other_subvy_search^15
+ subject_all_search^15 vern_subject_all_search^15 cjk_subject_all_search^15
+
+ toc_search^7.5 vern_toc_search^7.5 cjk_toc_search^7.5
+ context_search^7.5 vern_context_search^7.5 cjk_context_search^7.5
+ summary_search^7.5 vern_summary_search^7.5 cjk_summary_search^7.5
+ physical^3 vern_physical^3 cjk_physical_search^3
+ award_search^3
+ collection_search^3
+ modsxml_tsi^3
+ all_search^3 vern_all_search^3 cjk_all_search^3
+
+
+ title_245a_search^1000 vern_title_245a_search^1000 cjk_title_245a_search^1000
+ title_245_search^150 vern_title_245_search^150 cjk_title_245_search^150
+ title_uniform_search^100 vern_title_uniform_search^100 cjk_title_uniform_search^100
+ title_variant_search^40 vern_title_variant_search^40 cjk_title_variant_search^40
+ title_related_search^30 vern_title_related_search^30 cjk_title_related_search^30
+ series_search^20 vern_series_search^20 cjk_series_search^20
+
+ author_1xx_search^50 vern_author_1xx_search^50 cjk_author_1xx_search^50
+ author_7xx_search^40 vern_author_7xx_search^40 cjk_author_7xx_search^40
+ author_8xx_search^20 vern_author_8xx_search^20 cjk_author_8xx_search^20
+
+ topic_search^100 vern_topic_search^100 cjk_topic_search^100
+ geographic_search^40 vern_geographic_search^40 cjk_geographic_search^40
+ subject_other_search^20 vern_subject_other_search^20 cjk_subject_other_search^20
+ db_az_subject_search^10
+ topic_subx_search^10 vern_topic_subx_search^10 cjk_topic_subx_search^10
+ geographic_subz_search^10 vern_geographic_subz_search^10 cjk_geographic_subz_search^10
+ subject_other_subvy_search^10 vern_subject_other_subvy_search^10 cjk_subject_other_subvy_search^10
+ subject_all_search^10 vern_subject_all_search^10 cjk_subject_all_search^10
+
+ toc_search^5 vern_toc_search^5 cjk_toc_search^5
+ context_search^5 vern_context_search^5 cjk_context_search^5
+ summary_search^5 vern_summary_search^5 cjk_summary_search^5
+ physical^2 vern_physical^2 cjk_physical_search^2
+ award_search^2
+ collection_search^2
+ modsxml_tsi^2
+ all_search^2 vern_all_search^2 cjk_all_search^2
+
+
+
+
+ title_245a_exact_search^350
+ title_245a_unstem_search^100
+ title_245a_search^75 vern_title_245a_search^75
+ title_245_unstem_search^75
+ title_245_search^50 vern_title_245_search^50
+ title_uniform_unstem_search^50
+ title_uniform_search^20 vern_title_uniform_search^20
+ title_variant_unstem_search^20
+ title_variant_search^10 vern_title_variant_search^10
+ title_related_unstem_search^10
+ title_related_search^5 vern_title_related_search^5
+ series_exact_search^5
+ series_unstem_search^2
+ series_search vern_series_search
+
+
+ title_245a_exact_search^1750
+ title_245a_unstem_search^500
+ title_245a_search^375 vern_title_245a_search^375
+ title_245_unstem_search^375
+ title_245_search^250 vern_title_245_search^250
+ title_uniform_unstem_search^250
+ title_uniform_search^100 vern_title_uniform_search^100
+ title_variant_unstem_search^100
+ title_variant_search^50 vern_title_variant_search^50
+ title_related_unstem_search^50
+ title_related_search^25 vern_title_related_search^25
+ series_exact_search^25
+ series_unstem_search^10
+ series_search^5 vern_series_search^5
+
+
+ title_245a_search^300 vern_title_245a_search^300
+ title_245_search^225 vern_title_245_search^225
+ title_uniform_search^150 vern_title_uniform_search^150
+ title_variant_search^60 vern_title_variant_search^60
+ title_related_search^15 vern_title_related_search^15
+ series_search^3 vern_series_search^3
+
+
+ title_245a_search^200 vern_title_245a_search^200
+ title_245_search^150 vern_title_245_search^150
+ title_uniform_search^100 vern_title_uniform_search^100
+ title_variant_search^40 vern_title_variant_search^40
+ title_related_search^10 vern_title_related_search^10
+ series_search^2 vern_series_search^2
+
+
+
+ title_245a_exact_search^350
+ title_245a_unstem_search^100
+ title_245a_search^75 vern_title_245a_search^75 cjk_title_245a_search^75
+ title_245_unstem_search^75
+ title_245_search^50 vern_title_245_search^50 cjk_title_245_search^50
+ title_uniform_unstem_search^50
+ title_uniform_search^20 vern_title_uniform_search^20 cjk_title_uniform_search^20
+ title_variant_unstem_search^20
+ title_variant_search^10 vern_title_variant_search^10 cjk_title_variant_search^10
+ title_related_unstem_search^10
+ title_related_search^5 vern_title_related_search^5 cjk_title_related_search^5
+ series_exact_search^5
+ series_unstem_search^2
+ series_search vern_series_search cjk_series_search
+
+
+ title_245a_exact_search^1750
+ title_245a_unstem_search^500
+ title_245a_search^375 vern_title_245a_search^375 cjk_title_245a_search^375
+ title_245_unstem_search^375
+ title_245_search^250 vern_title_245_search^250 cjk_title_245_search^250
+ title_uniform_unstem_search^250
+ title_uniform_search^100 vern_title_uniform_search^100 cjk_title_uniform_search^100
+ title_variant_unstem_search^100
+ title_variant_search^50 vern_title_variant_search^50 cjk_title_variant_search^50
+ title_related_unstem_search^50
+ title_related_search^25 vern_title_related_search^25 cjk_title_related_search^25
+ series_exact_search^25
+ series_unstem_search^10
+ series_search^5 vern_series_search^5 cjk_series_search^5
+
+
+ title_245a_search^300 vern_title_245a_search^300 cjk_title_245a_search^300
+ title_245_search^225 vern_title_245_search^225 cjk_title_245_search^225
+ title_uniform_search^150 vern_title_uniform_search^150 cjk_title_uniform_search^150
+ title_variant_search^60 vern_title_variant_search^60 cjk_title_variant_search^60
+ title_related_search^15 vern_title_related_search^15 cjk_title_related_search^15
+ series_search^3 vern_series_search^3 cjk_series_search^3
+
+
+ title_245a_search^200 vern_title_245a_search^200 cjk_title_245a_search^200
+ title_245_search^150 vern_title_245_search^150 cjk_title_245_search^150
+ title_uniform_search^100 vern_title_uniform_search^100 cjk_title_uniform_search^100
+ title_variant_search^40 vern_title_variant_search^40 cjk_title_variant_search^40
+ title_related_search^10 vern_title_related_search^10 cjk_title_related_search^10
+ series_search^2 vern_series_search^2 cjk_series_search^2
+
+
+
+
+ author_1xx_unstem_search^20
+ author_1xx_search^5 vern_author_1xx_search^5
+ author_7xx_unstem_search^10
+ author_7xx_search^2 vern_author_7xx_search^2
+ author_8xx_unstem_search^2
+ author_8xx_search vern_author_8xx_search
+
+
+ author_1xx_search^100 vern_author_1xx_search^100
+ author_7xx_search^50 vern_author_7xx_search^50
+ author_8xx_search^10 vern_author_8xx_search^10
+
+
+ author_1xx_search^60 vern_author_1xx_search^60
+ author_7xx_search^30 vern_author_7xx_search^30
+ author_8xx_search^5 vern_author_8xx_search^5
+
+
+ author_1xx_search^40 vern_author_1xx_search^40
+ author_7xx_search^20 vern_author_7xx_search^20
+ author_8xx_search^2 vern_author_8xx_search^2
+
+
+
+ author_1xx_unstem_search^20
+ author_1xx_search^5 vern_author_1xx_search^5 cjk_author_1xx_search^5
+ author_7xx_unstem_search^10
+ author_7xx_search^2 vern_author_7xx_search^2 cjk_author_7xx_search^2
+ author_8xx_unstem_search^2
+ author_8xx_search vern_author_8xx_search cjk_author_8xx_search
+
+
+ author_1xx_search^100 vern_author_1xx_search^100 cjk_author_1xx_search^100
+ author_7xx_search^50 vern_author_7xx_search^50 cjk_author_7xx_search^50
+ author_8xx_search^10 vern_author_8xx_search^10 cjk_author_8xx_search^10
+
+
+ author_1xx_search^60 vern_author_1xx_search^60 cjk_author_1xx_search^60
+ author_7xx_search^30 vern_author_7xx_search^30 cjk_author_7xx_search^30
+ author_8xx_search^5 vern_author_8xx_search^5 cjk_author_8xx_search^5
+
+
+ author_1xx_search^40 vern_author_1xx_search^40 cjk_author_1xx_search^40
+ author_7xx_search^20 vern_author_7xx_search^20 cjk_author_7xx_search^20
+ author_8xx_search^2 vern_author_8xx_search^2 cjk_author_8xx_search^2
+
+
+
+
+ topic_unstem_search^50
+ topic_search^20 vern_topic_search^20
+ geographic_unstem_search^20
+ geographic_search^10 vern_geographic_search^10
+ subject_other_unstem_search^10
+ subject_other_search^5 vern_subject_other_search^5
+ topic_subx_unstem_search^2
+ topic_subx_search vern_topic_subx_search
+ geographic_subz_unstem_search^2
+ geographic_subz_search vern_geographic_subz_search
+ subject_other_subvy_unstem_search^2
+ subject_other_subvy_search vern_subject_other_subvy_search
+ subject_all_unstem_search^2
+ subject_all_search vern_subject_all_search
+ db_az_subject_search
+
+
+ topic_unstem_search^250
+ topic_search^100 vern_topic_search^100
+ geographic_unstem_search^100
+ geographic_search^50 vern_geographic_search^50
+ subject_other_unstem_search^25
+ subject_other_search^25 vern_subject_other_search^25
+ topic_subx_unstem_search^10
+ topic_subx_search^5 vern_topic_subx_search^5
+ geographic_subz_unstem_search^10
+ geographic_subz_search^5 vern_geographic_subz_search^5
+ subject_other_subvy_unstem_search^10
+ subject_other_subvy_search^5 vern_subject_other_subvy_search^5
+ subject_all_unstem_search^10
+ subject_all_search^5 vern_subject_all_search^5
+ db_az_subject_search^5
+
+
+ topic_search^150 vern_topic_search^150
+ subject_all_search^75 vern_subject_all_search^75
+ db_az_subject_search^3
+
+
+ topic_search^100 vern_topic_search^100
+ subject_all_search^50 vern_subject_all_search^50
+ db_az_subject_search^2
+
+
+
+ topic_unstem_search^50
+ topic_search^20 vern_topic_search^20 cjk_topic_search^20
+ geographic_unstem_search^20
+ geographic_search^10 vern_geographic_search^10 cjk_geographic_search^10
+ subject_other_unstem_search^10
+ subject_other_search^5 vern_subject_other_search^5 cjk_subject_other_search^5
+ topic_subx_unstem_search^2
+ topic_subx_search vern_topic_subx_search cjk_topic_subx_search
+ geographic_subz_unstem_search^2
+ geographic_subz_search vern_geographic_subz_search cjk_geographic_subz_search
+ subject_other_subvy_unstem_search^2
+ subject_other_subvy_search vern_subject_other_subvy_search cjk_subject_other_subvy_search
+ subject_all_unstem_search^2
+ subject_all_search vern_subject_all_search cjk_subject_all_search
+ db_az_subject_search
+
+
+ topic_unstem_search^250
+ topic_search^100 vern_topic_search^100 cjk_topic_search^100
+ geographic_unstem_search^100
+ geographic_search^50 vern_geographic_search^50 cjk_geographic_search^50
+ subject_other_unstem_search^25
+ subject_other_search^25 vern_subject_other_search^25 cjk_subject_other_search^25
+ topic_subx_unstem_search^10
+ topic_subx_search^5 vern_topic_subx_search^5 cjk_topic_subx_search^5
+ geographic_subz_unstem_search^10
+ geographic_subz_search^5 vern_geographic_subz_search^5 cjk_geographic_subz_search^5
+ subject_other_subvy_unstem_search^10
+ subject_other_subvy_search^5 vern_subject_other_subvy_search^5 cjk_subject_other_subvy_search^5
+ subject_all_unstem_search^10
+ subject_all_search^5 vern_subject_all_search^5 cjk_subject_all_search^5
+ db_az_subject_search^5
+
+
+ topic_search^150 vern_topic_search^150 cjk_topic_search^150
+ subject_all_search^75 vern_subject_all_search^75 cjk_subject_all_search^75
+ db_az_subject_search^3
+
+
+ topic_search^100 vern_topic_search^100 cjk_topic_search^100
+ subject_all_search^50 vern_subject_all_search^50 cjk_subject_all_search^50
+ db_az_subject_search^2
+
+
+
+
+ series_exact_search^5
+ series_unstem_search^2
+ series_search vern_series_search
+
+
+ series_exact_search^25
+ series_search^10 vern_series_search^10
+
+
+ series_search^5 vern_series_search^5
+
+
+ series_search^2 vern_series_search^2
+
+
+
+ series_exact_search^5
+ series_unstem_search^2
+ series_search vern_series_search cjk_series_search
+
+
+ series_exact_search^25
+ series_search^10 vern_series_search^10 cjk_series_search^10
+
+
+ series_search^5 vern_series_search^5 cjk_series_search^5
+
+
+ series_search^2 vern_series_search^2 cjk_series_search^2
+
+
+
+
+
+ pub_search vern_pub_search
+ pub_country
+ pub_date_search
+
+
+ pub_search^5 vern_pub_search^5
+ pub_country^5
+ pub_date_search^5
+
+ pub_search^3 vern_pub_search^3
+ pub_search^2 vern_pub_search^2
+
+
+ pub_search vern_pub_search cjk_pub_search
+ pub_country
+ pub_date_search
+
+
+ pub_search^5 vern_pub_search^5 cjk_pub_search^5
+ pub_country^5
+ pub_date_search^5
+
+ pub_search^3 vern_pub_search^3 cjk_pub_search^3
+ pub_search^2 vern_pub_search^2 cjk_pub_search^2
+
+
+
+ id_search
+ isbn_search
+ issn_search
+ oclc
+ barcode_search
+ callnum_search
+
+ issn_search^5 callnum_search^5
+ callnum_search^3
+ callnum_search^2
+
+
+
+
+ full_text_unstem_search^5
+ full_text_search
+ full_text_search_en
+ full_text_search_pt
+ full_text_search_id
+
+
+ full_text_unstem_search^25
+ full_text_search^5
+ full_text_search_en^5
+ full_text_search_pt^5
+ full_text_search_id^5
+
+
+ full_text_unstem_search^15
+ full_text_search^3
+ full_text_search_en^3
+ full_text_search_pt^3
+ full_text_search_id^3
+
+
+ full_text_unstem_search^10
+ full_text_search^2
+ full_text_search_en^2
+ full_text_search_pt^2
+ full_text_search_id^2
+
+
+
+ toc_unstem_search^5
+ toc_search
+
+
+ toc_unstem_search^25
+ toc_search^5
+
+
+ toc_unstem_search^15
+ toc_search^3
+
+
+ toc_unstem_search^10
+ toc_search^2
+
+
+ true
+ 1
+ 21
+ access_facet
+ enum
+ author_person_facet
+ author_other_facet
+ building_facet
+ enum
+ -1
+ callnum_facet_hsim
+ index
+ -1
+ enum
+ collection
+ enum
+ db_az_subject
+ enum
+ index
+ display_type
+ enum
+ era_facet
+ format_main_ssim
+ -1
+ enum
+ format_physical_ssim
+ 20
+ enum
+ genre_ssim
+ enum
+ format
+ enum
+ geographic_facet
+ language
+ pub_year_no_approx_isi
+ pub_year_w_approx_isi
+ pub_year_tisim
+ topic_facet
+ collection_with_title
+
+
+ all_search full_text_search full_text_search_en full_text_search_pt full_text_search_id
+
+
+ score,
+ id,
+ author_corp_display, vern_author_corp_display,
+ author_meeting_display, vern_author_meeting_display,
+ author_person_display, vern_author_person_display,
+ author_person_full_display, vern_author_person_full_display,
+ collection,
+ collection_type,
+ collection_with_title,
+ crez_course_info,
+ db_az_subject,
+ display_type,
+ file_id,
+ format,
+ format_main_ssim,
+ format_physical_ssim,
+ genre_ssim,
+ imprint_display,
+ isbn_display,
+ item_display,
+ lccn,
+ marcbib_xml,
+ mhld_display,
+ modsxml,
+ oclc,
+ physical, vern_physical,
+ publication_year_isi,
+ beginning_year_isi,
+ earliest_year_isi,
+ earliest_poss_year_isi,
+ release_year_isi,
+ reprint_year_isi,
+ ending_year_isi,
+ latest_year_isi,
+ latest_poss_year_isi,
+ production_year_isi,
+ original_year_isi,
+ copyright_year_isi,
+ summary_display,
+ title_245a_display, vern_title_245a_display,
+ title_245c_display, vern_title_245c_display,
+ title_display, vern_title_display,
+ title_full_display, vern_title_full_display,
+ title_uniform_display, vern_title_uniform_display
+ url_fulltext,
+ url_restricted,
+ url_suppl,
+ url_sfx
+
+
+
+
+
+
+ explicit
+ lucene
+
+
+
+
+
+
+ all
+ *
+ 1
+ {!raw f=id v=$id}
+
+
+
+
+
+
+ edismax
+ explicit
+ score desc, title_sort asc
+ 20
+ *:*
+ 0.01
+ false
+
+ all_search
+ AND
+ false
+ document_type_ssi:exhibit
+
+
+ id
+ exhibit_title_tesim
+ exhibit_subtitle_tesim
+ exhibit_slug_ssi
+ document_type_ssi
+
+
+
+ exhibit_title_tesim^100
+ exhibit_subtitle_tesim^10
+
+
+ exhibit_title_tesim^100
+ exhibit_subtitle_tesim^10
+
+
+ exhibit_title_tesim^100
+ exhibit_subtitle_tesim^10
+
+
+ exhibit_title_tesim^100
+ exhibit_subtitle_tesim^10
+
+
+
+
+
+ textSpell
+
+
+ default
+ spell
+ ./spell
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+ solrpingquery
+
+
+ all
+
+
+
+
+
+ search
+
+
+
diff --git a/exhibits_prod/stopwords_punctuation.txt b/exhibits_prod/stopwords_punctuation.txt
new file mode 100644
index 0000000..2aaeead
--- /dev/null
+++ b/exhibits_prod/stopwords_punctuation.txt
@@ -0,0 +1,22 @@
+# Punctuation characters we want to ignore as terms (i.e., when surrounded
+# by whitespace in a query, like 'fred : the puppy') in queries
+# ONLY FOR SINGLE TOKEN ANALYZED FIELDS
+# see https://issues.apache.org/jira/browse/SOLR-3085
+# Note that hyphens, plusses, and double hyphens are not treated as terms
+# per debugQuery
+:
+;
+&
+/
+=
+>
+<
+,
+.
+(
+)
+…
+»
+§
+•
+·
diff --git a/exhibits_prod/synonyms.txt b/exhibits_prod/synonyms.txt
new file mode 100644
index 0000000..c776086
--- /dev/null
+++ b/exhibits_prod/synonyms.txt
@@ -0,0 +1,73 @@
+# http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory
+# A synonym file for Solr SynonymFilterFactory.
+# Needs to be included at both index and query time
+# AFTER the case folding
+# BEFORE the WordDelimiterFilterFactory that removes punctuation
+# e.g.
+#
+#
+#
+#
+# "
+# and replace with all alternatives on the RHS. These types of mappings
+# ignore the expand parameter in the schema.
+# Equivalent synonyms may be separated with commas and give
+# no explicit mapping. In this case the mapping behavior will
+# be taken from the expand parameter in the schema.
+# If expand==true, "ipod, i-pod, i pod" is equivalent to the explicit mapping:
+# ipod, i-pod, i pod => ipod, i-pod, i pod
+# If expand==false, "ipod, i-pod, i pod" is equivalent to the explicit mapping:
+# ipod, i-pod, i pod => ipod
+# set expand to true for index time and false for query time
+
+# See SW-845
+# "Dept." will change to "Department"
+# "Koran" will change to "Qur'an"
+# "violoncello" will change to "cello"
+# "O.T." and "N.T." will change to "Old Testament" and "New Testament"
+# note that mapping TO the abbreviation improves recall but reduces precision:
+# O.T. can mean Old Testament or overtime; dept could be a word in some
+# language.
+department => dept
+qurʼan, qur'an, quran, qorʼan, qor'an, qoran => koran
+violoncello, violincello => cello
+# multi-token synonyms, and synonyms with punctuation, can be problematic
+#old testament => o.t.
+#new testament => n.t.
+
+# The below is inspired by Jonathan Rochkind at Johns Hopkins University, 2013-04-15
+
+# punctuation-including terms we want to whitelist protect and make searchable.
+# We do this by mapping them to unique tokens that do not include punctuation
+
+# computer languages
+# these are explicit mappings so when WDF drops the non-letter chars, c++ is not equivalent to c
+c++ => cplusplus
+j#, j♯ => jsssharp
+# c# and f# are music keys as well as computer languages
+
+# musical keys
+# these are explicit mappings so when WDF drops the non-letter chars, c# is not equivalent to c
+# We map from number-sign (#), musical sharp (♯)
+a#, a♯, a-sharp => a sharp
+b#, b♯, b-sharp => b sharp
+c#, c♯, c-sharp => c sharp
+d#, d♯, d-sharp => d sharp
+e#, e♯, e-sharp => e sharp
+f#, f♯, f-sharp => f sharp
+g#, g♯, g-sharp => g sharp
+# We map both from lowercase b and musical flat (♭)
+ab, a♭, a-flat => a flat
+bb, b♭, b-flat => b flat
+cb, c♭, c-flat => c flat
+db, d♭, d-flat => d flat
+eb, e♭, e-flat => e flat
+fb, f♭, f-flat => f flat
+gb, g♭, g-flat => g flat
diff --git a/exhibits_prod/synonyms_both_anchors.txt b/exhibits_prod/synonyms_both_anchors.txt
new file mode 100644
index 0000000..ca61e54
--- /dev/null
+++ b/exhibits_prod/synonyms_both_anchors.txt
@@ -0,0 +1,47 @@
+# Include in analysis with both left anchor of 'aaaaaa' and right anchor of 'zzzzzz'
+# for query or field comprised solely of token meant to be a synonym
+#
+# http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory
+# A synonym file for Solr SynonymFilterFactory.
+# Needs to be included at both index and query time
+# AFTER the case folding
+# BEFORE the WordDelimiterFilterFactory that removes punctuation
+# e.g.
+#
+#
+#
+#
+#
+#
+#
+#
+#
+# aaaaaadeptzzzzzz
+aaaaaaqurʼanzzzzzz, aaaaaaqur'anzzzzzz, aaaaaaquranzzzzzz, aaaaaaqorʼanzzzzzz, aaaaaaqor'anzzzzzz, aaaaaaqoranzzzzzz => aaaaaakoranzzzzzz
+aaaaaavioloncellozzzzzz, aaaaaaviolincellozzzzzz => aaaaaacellozzzzzz
+
+# computer languages
+aaaaaac++zzzzzz => aaaaaacpluspluszzzzzz
+aaaaaaj#zzzzzz, aaaaaaj♯zzzzzz => aaaaaajsssharpzzzzzz
+
+# musical keys
+# We map from number-sign (#), musical sharp (♯)
+aaaaaaa#zzzzzz, aaaaaaa♯zzzzzz, aaaaaaa-sharpzzzzzz => aaaaaaa sharpzzzzzz
+aaaaaab#zzzzzz, aaaaaab♯zzzzzz, aaaaaab-sharpzzzzzz => aaaaaab sharpzzzzzz
+aaaaaac#zzzzzz, aaaaaac♯zzzzzz, aaaaaac-sharpzzzzzz => aaaaaac sharpzzzzzz
+aaaaaad#zzzzzz, aaaaaad♯zzzzzz, aaaaaad-sharpzzzzzz => aaaaaad sharpzzzzzz
+aaaaaae#zzzzzz, aaaaaae♯zzzzzz, aaaaaae-sharpzzzzzz => aaaaaae sharpzzzzzz
+aaaaaaf#zzzzzz, aaaaaaf♯zzzzzz, aaaaaaf-sharpzzzzzz => aaaaaaf sharpzzzzzz
+aaaaaag#zzzzzz, aaaaaag♯zzzzzz, aaaaaag-sharpzzzzzz => aaaaaag sharpzzzzzz
+# We map both from lowercase b and musical flat (♭)
+aaaaaaabzzzzzz, aaaaaaa♭zzzzzz, aaaaaaa-flatzzzzzz => aaaaaaa flatzzzzzz
+aaaaaabbzzzzzz, aaaaaab♭zzzzzz, aaaaaab-flatzzzzzz => aaaaaab flatzzzzzz
+aaaaaacbzzzzzz, aaaaaac♭zzzzzz, aaaaaac-flatzzzzzz => aaaaaac flatzzzzzz
+aaaaaadbzzzzzz, aaaaaad♭zzzzzz, aaaaaad-flatzzzzzz => aaaaaad flatzzzzzz
+aaaaaaebzzzzzz, aaaaaae♭zzzzzz, aaaaaae-flatzzzzzz => aaaaaae flatzzzzzz
+aaaaaafbzzzzzz, aaaaaaf♭zzzzzz, aaaaaaf-flatzzzzzz => aaaaaaf flatzzzzzz
+aaaaaagbzzzzzz, aaaaaag♭zzzzzz, aaaaaag-flatzzzzzz => aaaaaag flatzzzzzz
diff --git a/exhibits_prod/synonyms_left_anchor.txt b/exhibits_prod/synonyms_left_anchor.txt
new file mode 100644
index 0000000..6bd28f5
--- /dev/null
+++ b/exhibits_prod/synonyms_left_anchor.txt
@@ -0,0 +1,45 @@
+# Include in analysis with left anchor of 'aaaaaa'
+# for query or field beginning with token meant to be a synonym
+#
+# http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory
+# A synonym file for Solr SynonymFilterFactory.
+# Needs to be included at both index and query time
+# AFTER the case folding
+# BEFORE the WordDelimiterFilterFactory that removes punctuation
+# e.g.
+#
+#
+#
+#
+#
+#
+#
+# aaaaaadept
+aaaaaaqurʼan, aaaaaaqur'an, aaaaaaquran, aaaaaaqorʼan, aaaaaaqor'an, aaaaaaqoran => aaaaaakoran
+aaaaaavioloncello, aaaaaaviolincello => aaaaaacello
+
+# computer languages
+aaaaaac++ => aaaaaacplusplus
+aaaaaaj#, aaaaaaj♯ => aaaaaajsssharp
+
+# musical keys
+# We map from number-sign (#), musical sharp (♯)
+aaaaaaa#, aaaaaaa♯, aaaaaaa-sharp => aaaaaaa sharp
+aaaaaab#, aaaaaab♯, aaaaaab-sharp => aaaaaab sharp
+aaaaaac#, aaaaaac♯, aaaaaac-sharp => aaaaaac sharp
+aaaaaad#, aaaaaad♯, aaaaaad-sharp => aaaaaad sharp
+aaaaaae#, aaaaaae♯, aaaaaae-sharp => aaaaaae sharp
+aaaaaaf#, aaaaaaf♯, aaaaaaf-sharp => aaaaaaf sharp
+aaaaaag#, aaaaaag♯, aaaaaag-sharp => aaaaaag sharp
+# We map both from lowercase b and musical flat (♭)
+aaaaaaab, aaaaaaa♭, aaaaaaa-flat => aaaaaaa flat
+aaaaaabb, aaaaaab♭, aaaaaab-flat => aaaaaab flat
+aaaaaacb, aaaaaac♭, aaaaaac-flat => aaaaaac flat
+aaaaaadb, aaaaaad♭, aaaaaad-flat => aaaaaad flat
+aaaaaaeb, aaaaaae♭, aaaaaae-flat => aaaaaae flat
+aaaaaafb, aaaaaaf♭, aaaaaaf-flat => aaaaaaf flat
+aaaaaagb, aaaaaag♭, aaaaaag-flat => aaaaaag flat
diff --git a/exhibits_prod/synonyms_right_anchor.txt b/exhibits_prod/synonyms_right_anchor.txt
new file mode 100644
index 0000000..d0909e0
--- /dev/null
+++ b/exhibits_prod/synonyms_right_anchor.txt
@@ -0,0 +1,47 @@
+# Include in analysis with right anchor of 'zzzzzz'
+# for query or field ending with token meant to be a synonym
+#
+# http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory
+# A synonym file for Solr SynonymFilterFactory.
+# Needs to be included at both index and query time
+# AFTER the case folding
+# BEFORE the WordDelimiterFilterFactory that removes punctuation
+# e.g.
+#
+#
+#
+#
+#
+#
+#
+#
+#
+# deptzzzzzz
+qurʼanzzzzzz, qur'anzzzzzz, quranzzzzzz, qorʼanzzzzzz, qor'anzzzzzz, qoranzzzzzz => koranzzzzzz
+violoncellozzzzzz, violincellozzzzzz => cellozzzzzz
+
+# computer languages
+c++zzzzzz => cpluspluszzzzzz
+j#zzzzzz, j♯zzzzzz => jsssharpzzzzzz
+
+# musical keys
+# We map from number-sign (#), musical sharp (♯)
+a#zzzzzz, a♯zzzzzz, a-sharpzzzzzz => a sharpzzzzzz
+b#zzzzzz, b♯zzzzzz, b-sharpzzzzzz => b sharpzzzzzz
+c#zzzzzz, c♯zzzzzz, c-sharpzzzzzz => c sharpzzzzzz
+d#zzzzzz, d♯zzzzzz, d-sharpzzzzzz => d sharpzzzzzz
+e#zzzzzz, e♯zzzzzz, e-sharpzzzzzz => e sharpzzzzzz
+f#zzzzzz, f♯zzzzzz, f-sharpzzzzzz => f sharpzzzzzz
+g#zzzzzz, g♯zzzzzz, g-sharpzzzzzz => g sharpzzzzzz
+# We map both from lowercase b and musical flat (♭)
+abzzzzzz, a♭zzzzzz, a-flatzzzzzz => a flatzzzzzz
+bbzzzzzz, b♭zzzzzz, b-flatzzzzzz => b flatzzzzzz
+cbzzzzzz, c♭zzzzzz, c-flatzzzzzz => c flatzzzzzz
+dbzzzzzz, d♭zzzzzz, d-flatzzzzzz => d flatzzzzzz
+ebzzzzzz, e♭zzzzzz, e-flatzzzzzz => e flatzzzzzz
+fbzzzzzz, f♭zzzzzz, f-flatzzzzzz => f flatzzzzzz
+gbzzzzzz, g♭zzzzzz, g-flatzzzzzz => g flatzzzzzz