Files
site11/services/search/solr-config/conf/solrconfig.xml
2025-09-28 20:41:57 +09:00

152 lines
5.1 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<config>
<luceneMatchVersion>9.4.0</luceneMatchVersion>
<!-- Data Directory -->
<dataDir>${solr.data.dir:}</dataDir>
<!-- Index Config -->
<indexConfig>
<ramBufferSizeMB>100</ramBufferSizeMB>
<maxBufferedDocs>1000</maxBufferedDocs>
<mergePolicyFactory class="org.apache.solr.index.TieredMergePolicyFactory">
<int name="maxMergeAtOnce">10</int>
<int name="segmentsPerTier">10</int>
</mergePolicyFactory>
</indexConfig>
<!-- Update Handler -->
<updateHandler class="solr.DirectUpdateHandler2">
<updateLog>
<str name="dir">${solr.ulog.dir:}</str>
<int name="numVersionBuckets">${solr.ulog.numVersionBuckets:65536}</int>
</updateLog>
<autoCommit>
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
<openSearcher>false</openSearcher>
</autoCommit>
<autoSoftCommit>
<maxTime>${solr.autoSoftCommit.maxTime:1000}</maxTime>
</autoSoftCommit>
</updateHandler>
<!-- Query Settings -->
<query>
<maxBooleanClauses>1024</maxBooleanClauses>
<filterCache class="solr.CaffeineCache" size="512" initialSize="512" autowarmCount="0"/>
<queryResultCache class="solr.CaffeineCache" size="512" initialSize="512" autowarmCount="0"/>
<documentCache class="solr.CaffeineCache" size="512" initialSize="512" autowarmCount="0"/>
<enableLazyFieldLoading>true</enableLazyFieldLoading>
<queryResultWindowSize>20</queryResultWindowSize>
<queryResultMaxDocsCached>200</queryResultMaxDocsCached>
</query>
<!-- Request Dispatcher -->
<requestDispatcher>
<requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048000"
formdataUploadLimitInKB="2048" addHttpRequestToContext="false"/>
<httpCaching never304="true"/>
</requestDispatcher>
<!-- Request Handlers -->
<!-- Standard search handler -->
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">content</str>
<str name="q.op">OR</str>
<str name="defType">edismax</str>
<str name="qf">
title^3.0 name^2.5 content^2.0 description^1.5 summary^1.5
filename^1.5 tags^1.2 category username email bio
</str>
<str name="pf">
title^4.0 name^3.0 content^2.5 description^2.0
</str>
<str name="mm">2&lt;-25%</str>
<str name="hl">true</str>
<str name="hl.fl">title,content,description,summary</str>
<str name="hl.simple.pre">&lt;mark&gt;</str>
<str name="hl.simple.post">&lt;/mark&gt;</str>
<str name="facet">true</str>
<str name="facet.mincount">1</str>
</lst>
</requestHandler>
<!-- Update handler -->
<requestHandler name="/update" class="solr.UpdateRequestHandler"/>
<!-- Get handler -->
<requestHandler name="/get" class="solr.RealTimeGetHandler">
<lst name="defaults">
<str name="omitHeader">true</str>
</lst>
</requestHandler>
<!-- Admin handlers -->
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
<lst name="invariants">
<str name="q">solrpingquery</str>
</lst>
<lst name="defaults">
<str name="echoParams">all</str>
</lst>
</requestHandler>
<!-- Suggest/Autocomplete handler -->
<requestHandler name="/suggest" class="solr.SearchHandler">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">10</str>
<str name="suggest.dictionary">suggest</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
<!-- Spell check component -->
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">text_general</str>
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">content</str>
<str name="classname">solr.DirectSolrSpellChecker</str>
<str name="distanceMeasure">internal</str>
<float name="accuracy">0.5</float>
<int name="maxEdits">2</int>
<int name="minPrefix">1</int>
<int name="maxInspections">5</int>
<int name="minQueryLength">4</int>
<float name="maxQueryFrequency">0.01</float>
</lst>
</searchComponent>
<!-- Suggest component -->
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">suggest</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">suggest</str>
<str name="suggestAnalyzerFieldType">text_suggest</str>
<str name="buildOnStartup">false</str>
</lst>
</searchComponent>
<!-- More Like This handler -->
<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
<lst name="defaults">
<str name="mlt.fl">title,content,description,tags</str>
<int name="mlt.mindf">1</int>
<int name="mlt.mintf">1</int>
<int name="mlt.count">10</int>
</lst>
</requestHandler>
<!-- Schema handler (removed for Solr 9.x compatibility) -->
<!-- Config handler (removed for Solr 9.x compatibility) -->
</config>