| <?xml version="1.0" ?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- This is a "kitchen sink" config file that tests can use. |
| When writting a new test, feel free to add *new* items (plugins, |
| config options, etc...) as long as they don't break any existing |
| tests. if you need to test something esoteric please add a new |
| "solrconfig-your-esoteric-purpose.xml" config file. |
| |
| Note in particular that this test is used by MinimalSchemaTest so |
| Anything added to this file needs to work correctly even if there |
| is now uniqueKey or defaultSearch Field. |
| --> |
| |
| <config> |
| |
| <jmx /> |
| |
| <!-- Used to specify an alternate directory to hold all index data. |
| It defaults to "index" if not present, and should probably |
| not be changed if replication is in use. --> |
| <dataDir>${solr.data.dir:}</dataDir> |
| |
| <!-- The DirectoryFactory to use for indexes. |
| solr.StandardDirectoryFactory, the default, is filesystem based. |
| solr.RAMDirectoryFactory is memory based and not persistent. --> |
| <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.RAMDirectoryFactory}"> |
| <double name="maxWriteMBPerSecDefault">1000000</double> |
| <double name="maxWriteMBPerSecFlush">2000000</double> |
| <double name="maxWriteMBPerSecMerge">3000000</double> |
| <double name="maxWriteMBPerSecRead">4000000</double> |
| </directoryFactory> |
| |
| <schemaFactory class="ClassicIndexSchemaFactory"/> |
| |
| <luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion> |
| |
| <xi:include href="solrconfig.snippet.randomindexconfig.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> |
| |
| <updateHandler class="solr.DirectUpdateHandler2"> |
| |
| <!-- autocommit pending docs if certain criteria are met |
| <autoCommit> |
| <maxDocs>10000</maxDocs> |
| <maxTime>3600000</maxTime> |
| </autoCommit> |
| --> |
| |
| <updateLog enable="${enable.update.log:true}"> |
| <str name="dir">${solr.ulog.dir:}</str> |
| </updateLog> |
| |
| <commitWithin> |
| <softCommit>${solr.commitwithin.softcommit:true}</softCommit> |
| </commitWithin> |
| |
| </updateHandler> |
| |
| <query> |
| <!-- Maximum number of clauses in a boolean query... can affect |
| range or wildcard queries that expand to big boolean |
| queries. An exception is thrown if exceeded. |
| --> |
| <maxBooleanClauses>${solr.max.booleanClauses:1024}</maxBooleanClauses> |
| |
| <!-- Cache specification for Filters or DocSets - unordered set of *all* documents |
| that match a particular query. |
| --> |
| <filterCache |
| size="512" |
| initialSize="512" |
| autowarmCount="2"/> |
| |
| <queryResultCache |
| size="512" |
| initialSize="512" |
| autowarmCount="2"/> |
| |
| <documentCache |
| size="512" |
| initialSize="512" |
| autowarmCount="0"/> |
| |
| <cache name="perSegFilter" |
| size="10" |
| initialSize="0" |
| autowarmCount="10" /> |
| |
| <!-- If true, stored fields that are not requested will be loaded lazily. |
| --> |
| <enableLazyFieldLoading>true</enableLazyFieldLoading> |
| |
| <!-- |
| |
| <cache name="myUserCache" |
| size="4096" |
| initialSize="1024" |
| autowarmCount="1024" |
| regenerator="MyRegenerator" |
| /> |
| --> |
| |
| <!-- |
| <useFilterForSortedQuery>true</useFilterForSortedQuery> |
| --> |
| |
| <queryResultWindowSize>10</queryResultWindowSize> |
| |
| <!-- boolToFilterOptimizer converts boolean clauses with zero boost |
| into cached filters if the number of docs selected by the clause exceeds |
| the threshold (represented as a fraction of the total index) |
| --> |
| <boolTofilterOptimizer enabled="false" cacheSize="32" threshold=".05"/> |
| |
| <!-- a newSearcher event is fired whenever a new searcher is being prepared |
| and there is a current searcher handling requests (aka registered). --> |
| <!-- QuerySenderListener takes an array of NamedList and executes a |
| local query request for each NamedList in sequence. --> |
| <!-- |
| <listener event="newSearcher" class="solr.QuerySenderListener"> |
| <arr name="queries"> |
| <lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst> |
| <lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst> |
| </arr> |
| </listener> |
| --> |
| |
| <!-- a firstSearcher event is fired whenever a new searcher is being |
| prepared but there is no current registered searcher to handle |
| requests or to gain prewarming data from. --> |
| <!-- |
| <listener event="firstSearcher" class="solr.QuerySenderListener"> |
| <arr name="queries"> |
| <lst> <str name="q">fast_warm</str> <str name="start">0</str> <str name="rows">10</str> </lst> |
| </arr> |
| </listener> |
| --> |
| |
| </query> |
| |
| <queryResponseWriter name="xml" default="true" |
| class="solr.XMLResponseWriter" /> |
| |
| <!-- An alternate set representation that uses an integer hash to store filters (sets of docids). |
| If the set cardinality <= maxSize elements, then HashDocSet will be used instead of the bitset |
| based HashBitset. --> |
| |
| <!-- requestHandler plugins... incoming queries will be dispatched to the |
| correct handler based on the 'qt' param matching the |
| name of registered handlers. |
| The "standard" request handler is the default and will be used if qt |
| is not specified in the request. |
| --> |
| <requestHandler name="/select" class="solr.SearchHandler"> |
| <bool name="httpCaching">true</bool> |
| </requestHandler> |
| |
| <searchComponent name="spellcheck" class="org.apache.solr.handler.component.SpellCheckComponent"> |
| <!-- This is slightly different from the field value so we can test dealing with token offset changes --> |
| <str name="queryAnalyzerFieldType">a_s</str> |
| |
| <lst name="spellchecker"> |
| <str name="name">direct</str> |
| <str name="classname">DirectSolrSpellChecker</str> |
| <str name="field">a_s</str> |
| <int name="minQueryLength">3</int> |
| </lst> |
| </searchComponent> |
| |
| <!-- |
| The SpellingQueryConverter to convert raw (CommonParams.Q) queries into tokens. Uses a simple regular expression |
| to strip off field markup, boosts, ranges, etc. but it is not guaranteed to match an exact parse from the query parser. |
| --> |
| <queryConverter name="queryConverter" class="org.apache.solr.spelling.SpellingQueryConverter"/> |
| |
| <requestHandler name="/spellCheckCompRH_Direct" class="org.apache.solr.handler.component.SearchHandler"> |
| <lst name="defaults"> |
| <str name="spellcheck.dictionary">direct</str> |
| <str name="spellcheck.onlyMorePopular">false</str> |
| <str name="spellcheck.extendedResults">false</str> |
| <str name="spellcheck.count">1</str> |
| </lst> |
| <arr name="last-components"> |
| <str>spellcheck</str> |
| </arr> |
| </requestHandler> |
| |
| <!-- test elevation --> |
| <searchComponent name="elevate" class="org.apache.solr.handler.component.QueryElevationComponent" > |
| <str name="queryFieldType">string</str> |
| <str name="config-file">elevate.xml</str> |
| </searchComponent> |
| |
| |
| <requestHandler name="/elevate" class="org.apache.solr.handler.component.SearchHandler"> |
| <lst name="defaults"> |
| <str name="echoParams">explicit</str> |
| </lst> |
| <arr name="last-components"> |
| <str>elevate</str> |
| </arr> |
| </requestHandler> |
| |
| <requestDispatcher> |
| <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="-1" /> |
| <httpCaching lastModifiedFrom="openTime" etagSeed="Solr" never304="false"> |
| <cacheControl>max-age=30, public</cacheControl> |
| </httpCaching> |
| </requestDispatcher> |
| |
| <admin> |
| <defaultQuery>solr</defaultQuery> |
| <gettableFiles>solrconfig.xml schema.xml</gettableFiles> |
| </admin> |
| |
| <!-- test getting system property --> |
| <propTest attr1="${solr.test.sys.prop1}-$${literal}" |
| attr2="${non.existent.sys.prop:default-from-config}">prefix-${solr.test.sys.prop2}-suffix</propTest> |
| |
| <queryParser name="foo" class="FooQParserPlugin"/> |
| |
| <updateRequestProcessorChain name="uniq-fields"> |
| <processor class="org.apache.solr.update.processor.UniqFieldsUpdateProcessorFactory"> |
| <arr name="fieldName"> |
| <str>uniq</str> |
| <str>uniq2</str> |
| <str>uniq3</str> |
| </arr> |
| </processor> |
| <processor class="solr.RunUpdateProcessorFactory" /> |
| </updateRequestProcessorChain> |
| |
| <updateRequestProcessorChain name="distrib-dup-test-chain-explicit"> |
| <!-- explicit test using processors before and after distrib --> |
| <processor class="solr.RegexReplaceProcessorFactory"> |
| <str name="fieldName">regex_dup_A_s</str> |
| <str name="pattern">x</str> |
| <str name="replacement">x_x</str> |
| </processor> |
| <processor class="solr.DistributedUpdateProcessorFactory" /> |
| <processor class="solr.RegexReplaceProcessorFactory"> |
| <str name="fieldName">regex_dup_B_s</str> |
| <str name="pattern">x</str> |
| <str name="replacement">x_x</str> |
| </processor> |
| <processor class="solr.RunUpdateProcessorFactory" /> |
| </updateRequestProcessorChain> |
| |
| <updateRequestProcessorChain name="distrib-dup-test-chain-implicit"> |
| <!-- implicit test w/o distrib declared--> |
| <processor class="solr.RegexReplaceProcessorFactory"> |
| <str name="fieldName">regex_dup_A_s</str> |
| <str name="pattern">x</str> |
| <str name="replacement">x_x</str> |
| </processor> |
| <processor class="solr.RegexReplaceProcessorFactory"> |
| <str name="fieldName">regex_dup_B_s</str> |
| <str name="pattern">x</str> |
| <str name="replacement">x_x</str> |
| </processor> |
| <processor class="solr.RunUpdateProcessorFactory" /> |
| </updateRequestProcessorChain> |
| |
| <initParams path="/elevate,/select"> |
| <lst name="defaults"> |
| <str name="df">text</str> |
| </lst> |
| </initParams> |
| </config> |