solr/conf/solrconfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<valueSourceParser name="stringdiff"
class="edu.psu.solr.plugin.bookcodesort.StringDiffValueSourceParser" />
<!-- NOTE: various comments and unused configuration possibilities have been purged
from this file. Please refer to http://wiki.apache.org/solr/SolrConfigXml,
as well as the default solrconfig file included with Solr -->
<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
<luceneMatchVersion>8.11</luceneMatchVersion>
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
<!-- solr lib dirs -->
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
<!-- using default data directory here, for the vanilla Solr installation-->
<dataDir>${solr.data.dir:}</dataDir>
<codecFactory class="solr.SchemaCodecFactory"/>
<schemaFactory class="ClassicIndexSchemaFactory"/>
<indexConfig>
<!-- native is the default, but let's be safe -->
<lockType>${solr.lock.type:native}</lockType>
<!-- in-memory buffer of 200MB per shard. If it fills up,
a hard commit is done, but the transaction log isn't cleared up,
so we still have to rely on the hard commit policy -->
<ramBufferSizeMB>200</ramBufferSizeMB>
</indexConfig>
<updateHandler class="solr.DirectUpdateHandler2">
<!-- this is our transaction log for SolrCloud-->
<updateLog>
<str name="dir">${solr.ulog.dir:}</str>
<int name="numVersionBuckets">${solr.ulog.numVersionBuckets:65536}</int>
</updateLog>
<!-- hard commit every 10 minutes or 100K docs, whichever comes first -->
<autoCommit>
<maxTime>600000</maxTime>
<maxDocs>100000</maxDocs>
<openSearcher>false</openSearcher>
</autoCommit>
<!-- soft commit every 20 minutes -->
<autoSoftCommit>
<maxTime>1200000</maxTime>
</autoSoftCommit>
</updateHandler>
<updateProcessor class="solr.processor.SignatureUpdateProcessorFactory" name="add_hash_id">
<bool name="enabled">true</bool>
<str name="signatureField">hashed_id_si</str>
<bool name="overwriteDupes">false</bool>
<str name="fields">id</str>
<str name="signatureClass">solr.processor.Lookup3Signature</str>
</updateProcessor>
<updateRequestProcessorChain name="cloud" processor="add_hash_id" default="true">
<processor class="solr.LogUpdateProcessorFactory"/>
<processor class="solr.DistributedUpdateProcessorFactory"/>
<processor class="solr.RunUpdateProcessorFactory"/>
</updateRequestProcessorChain>
<!-- config for the admin interface -->
<admin>
<defaultQuery>*:*</defaultQuery>
</admin>
<requestHandler name="/search" class="solr.SearchHandler" default="true">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="defType">edismax</str>
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="q.alt">*:*</str>
<str name="mm">5<-1 9<90%</str>
<int name="qs">1</int>
<int name="ps">2</int>
<float name="tie">0.01</float>
<!-- this qf and pf are used by default, if not otherwise specified by
client. The default blacklight will use these for the
"keywords" search. See the author_qf/author_pf, title_qf, etc
below, which the default blacklight will specify for
those searches. You may also be interested in:
http://wiki.apache.org/solr/LocalParams
-->
<str name="qf">
id
title_unstem_search^150000
title_245ab_unstem_search^100000
title_tsim^50000
cjk_title_search^50000
title_245ab_tsim^25000
cjk_title_245ab_search^25000
title_addl_unstem_search^5000
title_addl_tsim^2500
cjk_title_addl_search^2500
series_title_unstem_search^500
series_title_tsim^200
title_related_unstem_search^150
title_related_tsim^125
subject_topic_unstem_search^1000
subject_unstem_search^750
subject_topic_facet_sim^625
subject_tsim^500
author_unstem_search^250
author_addl_unstem_search^250
author_tsim^100
cjk_author_search^100
author_addl_tsim^50
cjk_author_addl_search^50
subject_addl_unstem_search^250
subject_addl_tsim^50
isbn_sim
issn_sim
scan_sim
toc_ssim^200
notes_summary_ssim
all_text_timv
</str>
<str name="pf">
title_unstem_search^1000000
title_245ab_unstem_search^750000
title_tsim^300000
cjk_title_search^300000
title_245ab_tsim^250000
cjk_title_245ab_search^750000
title_addl_unstem_search^50000
title_addl_tsim^25000
cjk_title_addl_search^25000
series_title_unstem_search^20000
series_title_tsim^10000
title_related_unstem_search^1500
title_related_tsim^1250
subject_topic_unstem_search^10000
subject_unstem_search^7500
subject_topic_facet_sim^6250
subject_tsim^5000
author_unstem_search^2500
author_addl_unstem_search^2500
author_tsim^1000
cjk_author_search^1000
author_addl_tsim^500
cjk_author_addl_search^500
subject_addl_unstem_search^2500
subject_addl_tsim^500
toc_ssim^200
notes_summary_ssim^50
all_text_timv^10
</str>
<str name="author_qf">
author_unstem_search^200
author_addl_unstem_search^50
author_tsim^20
cjk_author_search^20
author_addl_tsim
cjk_author_addl_search
</str>
<str name="author_pf">
author_unstem_search^2000
author_addl_unstem_search^500
author_tsim^200
cjk_author_search^200
author_addl_tsim^10
cjk_author_addl_search^10
</str>
<str name="title_qf">
title_unstem_search^75000
title_245ab_unstem_search^50000
title_addl_unstem_search^10000
title_tsim^7500
cjk_title_search^7500
title_245ab_tsim^5000
cjk_title_245ab_search^5000
title_addl_tsim^100
cjk_title_addl_search^100
title_added_entry_unstem_search^50
title_added_entry_tsim^10
series_title_unstem_search^5
series_title_tsim
</str>
<str name="title_pf">
title_unstem_search^750000
title_245ab_unstem_search^500000
title_addl_unstem_search^100000
title_tsim^75000
cjk_title_search^7500
title_245ab_tsim^50000
cjk_title_245ab_searc
title_addl_tsim^1000
cjk_title_addl_search^1000
title_added_entry_unstem_search^500
title_added_entry_tsim^100
series_title_unstem_search^50
series_title_tsim^10
</str>
<str name="subject_qf">
subject_topic_unstem_search^200
subject_unstem_search^125
subject_topic_facet_sim^100
subject_tsim^50
subject_addl_unstem_search^10
subject_addl_tsim
</str>
<str name="subject_pf">
subject_topic_unstem_search^2000
subject_unstem_search^1250
subject_tsim^1000
subject_topic_facet_sim^500
subject_addl_unstem_search^100
subject_addl_tsim^10
</str>
<!-- for advanced search number text box -->
<str name="number_qf">
id
isbn_sim
issn_sim
oclc_number_ssim
deprecated_oclcs_tsim
lccn_ssim
scan_sim
report_numbers_ssim
</str>
<!-- list fields to be displayed in the search results page -->
<str name="fl">
author_corp_display_ssm,
author_meeting_display_ssm,
author_person_display_ssm,
call_number_lc_ssm,
call_number_dewey_ssm,
edition_display_ssm,
format,
full_links_struct,
ht_access_ss
id,
isbn_valid_ssm,
lccn_ssim,
oclc_number_ssim,
overall_imprint_display_ssm,
publication_display_ssm,
score,
summary_holdings_struct,
title_display_ssm,
title_latin_display_ssm,
</str>
<!-- list fields to be displayed as facets -->
<str name="facet">true</str>
<str name="facet.mincount">1</str>
<str name="facet.field">access_facet</str>
<str name="facet.field">campus_facet</str>
<str name="facet.field">format</str>
<str name="facet.field">genre_facet</str>
<str name="facet.field">language_facet</str>
<str name="facet.field">lc_1letter_facet</str>
<str name="facet.field">lc_rest_facet</str>
<str name="facet.field">media_type_facet</str>
<str name="facet.field">pub_date_itsi</str>
<str name="facet.field">subject_topic_facet</str>
<str name="facet.field">thesis_dept_facet</str>
<str name="facet.field">up_library_facet</str>
</lst>
</requestHandler>
<!-- for requests to get a single document; use id=666 instead of q=id:666 -->
<requestHandler name="document" class="solr.SearchHandler" >
<lst name="defaults">
<str name="echoParams">all</str>
<str name="fl">*,
bound_with_title_ssm: [json]</str>
<str name="rows">1</str>
<str name="q">{!term f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
</lst>
</requestHandler>
<!-- requests a set of documents for building a virtual shelf for call number browsing -->
<requestHandler name="shelf" class="solr.SearchHandler" >
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="fl">
call_number_lc_ssm
call_number_dewey_ssm
keymap_struct
author_person_display_ssm
edition_display_ssm
format
id
lc_shelfkey,
dewey_shelfkey,
library_facet
overall_imprint_display_ssm
publication_display_ssm
title_display_ssm
</str>
<str name="defType">lucene</str>
<!-- It's possible that there would be more items present than the maximum set here because a given shelf key
can occur in more than one item. -->
<str name="rows">100</str>
</lst>
</requestHandler>
<requestHandler name="standard" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="defType">lucene</str>
</lst>
</requestHandler>
<requestDispatcher handleSelect="true" >
<requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
</requestDispatcher>
<requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
<query>
<filterCache class="solr.CaffeineCache"
size="2000"
initialSize="2000"
autowarmCount="100"/>
<queryResultCache class="solr.CaffeineCache"
size="1000"
initialSize="1000"
autowarmCount="100"/>
<documentCache class="solr.CaffeineCache"
size="1000"
initialSize="1000"/>
<enableLazyFieldLoading>true</enableLazyFieldLoading>
<queryResultWindowSize>100</queryResultWindowSize>
<queryResultMaxDocsCached>500</queryResultMaxDocsCached>
<useColdSearcher>false</useColdSearcher>
</query>
</config>