| <?xml version="1.0" encoding="UTF-8" ?> |
| <!-- |
| 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. |
| --> |
| |
| <config> |
| |
| <luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion> |
| |
| <dataDir>${solr.data.dir:}</dataDir> |
| |
| <directoryFactory name="DirectoryFactory" |
| class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/> |
| |
| <codecFactory class="solr.SchemaCodecFactory"/> |
| |
| <indexConfig> |
| <lockType>${solr.lock.type:native}</lockType> |
| </indexConfig> |
| |
| <jmx /> |
| |
| <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:-1}</maxTime> |
| </autoSoftCommit> |
| |
| </updateHandler> |
| |
| <query> |
| |
| <maxBooleanClauses>1024</maxBooleanClauses> |
| |
| <filterCache class="solr.FastLRUCache" |
| size="512" |
| initialSize="512" |
| autowarmCount="0"/> |
| |
| <queryResultCache class="solr.LRUCache" |
| size="512" |
| initialSize="512" |
| autowarmCount="0"/> |
| |
| <documentCache class="solr.LRUCache" |
| size="512" |
| initialSize="512" |
| autowarmCount="0"/> |
| |
| <cache name="perSegFilter" |
| class="solr.search.LRUCache" |
| size="10" |
| initialSize="0" |
| autowarmCount="10" |
| regenerator="solr.NoOpRegenerator" /> |
| |
| <enableLazyFieldLoading>true</enableLazyFieldLoading> |
| |
| <queryResultWindowSize>20</queryResultWindowSize> |
| |
| <queryResultMaxDocsCached>200</queryResultMaxDocsCached> |
| |
| <listener event="newSearcher" class="solr.QuerySenderListener"> |
| <arr name="queries"> |
| </arr> |
| </listener> |
| <listener event="firstSearcher" class="solr.QuerySenderListener"> |
| <arr name="queries"> |
| </arr> |
| </listener> |
| |
| <useColdSearcher>false</useColdSearcher> |
| |
| </query> |
| |
| <requestDispatcher> |
| |
| <httpCaching never304="true" /> |
| |
| </requestDispatcher> |
| |
| <!-- Request Handlers |
| |
| http://wiki.apache.org/solr/SolrRequestHandler |
| |
| Incoming queries will be dispatched to a specific handler by name |
| based on the path specified in the request. |
| |
| If a Request Handler is declared with startup="lazy", then it will |
| not be initialized until the first request that uses it. |
| |
| --> |
| <!-- SearchHandler |
| |
| http://wiki.apache.org/solr/SearchHandler |
| |
| For processing Search Queries, the primary Request Handler |
| provided with Solr is "SearchHandler" It delegates to a sequent |
| of SearchComponents (see below) and supports distributed |
| queries across multiple shards |
| --> |
| <requestHandler name="/select" class="solr.SearchHandler"> |
| <lst name="defaults"> |
| <str name="echoParams">explicit</str> |
| <int name="rows">10</int> |
| </lst> |
| </requestHandler> |
| |
| <!-- Update Processors |
| |
| Chains of Update Processor Factories for dealing with Update |
| Requests can be declared, and then used by name in Update |
| Request Processors |
| |
| http://wiki.apache.org/solr/UpdateRequestProcessor |
| |
| --> |
| |
| <!-- Add unknown fields to the schema |
| |
| Field type guessing update processors that will |
| attempt to parse string-typed field values as Booleans, Longs, |
| Doubles, or Dates, and then add schema fields with the guessed |
| field types. Text content will be indexed as "text_general" as |
| well as a copy to a plain string version in *_str. |
| |
| These require that the schema is both managed and mutable, by |
| declaring schemaFactory as ManagedIndexSchemaFactory, with |
| mutable specified as true. |
| |
| See http://wiki.apache.org/solr/GuessingFieldTypes |
| --> |
| <updateProcessor class="solr.UUIDUpdateProcessorFactory" name="uuid"/> |
| <updateProcessor class="solr.RemoveBlankFieldUpdateProcessorFactory" name="remove-blank"/> |
| <updateProcessor class="solr.FieldNameMutatingUpdateProcessorFactory" name="field-name-mutating"> |
| <str name="pattern">[^\w-\.]</str> |
| <str name="replacement">_</str> |
| </updateProcessor> |
| <updateProcessor class="solr.ParseBooleanFieldUpdateProcessorFactory" name="parse-boolean"/> |
| <updateProcessor class="solr.ParseLongFieldUpdateProcessorFactory" name="parse-long"/> |
| <updateProcessor class="solr.ParseDoubleFieldUpdateProcessorFactory" name="parse-double"/> |
| <updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date"> |
| <arr name="format"> |
| <str>yyyy-MM-dd'T'HH:mm:ss.SSSZ</str> |
| <str>yyyy-MM-dd'T'HH:mm:ss,SSSZ</str> |
| <str>yyyy-MM-dd'T'HH:mm:ss.SSS</str> |
| <str>yyyy-MM-dd'T'HH:mm:ss,SSS</str> |
| <str>yyyy-MM-dd'T'HH:mm:ssZ</str> |
| <str>yyyy-MM-dd'T'HH:mm:ss</str> |
| <str>yyyy-MM-dd'T'HH:mmZ</str> |
| <str>yyyy-MM-dd'T'HH:mm</str> |
| <str>yyyy-MM-dd HH:mm:ss.SSSZ</str> |
| <str>yyyy-MM-dd HH:mm:ss,SSSZ</str> |
| <str>yyyy-MM-dd HH:mm:ss.SSS</str> |
| <str>yyyy-MM-dd HH:mm:ss,SSS</str> |
| <str>yyyy-MM-dd HH:mm:ssZ</str> |
| <str>yyyy-MM-dd HH:mm:ss</str> |
| <str>yyyy-MM-dd HH:mmZ</str> |
| <str>yyyy-MM-dd HH:mm</str> |
| <str>yyyy-MM-dd</str> |
| </arr> |
| </updateProcessor> |
| <updateProcessor class="solr.AddSchemaFieldsUpdateProcessorFactory" name="add-schema-fields"> |
| <lst name="typeMapping"> |
| <str name="valueClass">java.lang.String</str> |
| <str name="fieldType">text_general</str> |
| <lst name="copyField"> |
| <str name="dest">*_str</str> |
| <int name="maxChars">256</int> |
| </lst> |
| <!-- Use as default mapping instead of defaultFieldType --> |
| <bool name="default">true</bool> |
| </lst> |
| <lst name="typeMapping"> |
| <str name="valueClass">java.lang.Boolean</str> |
| <str name="fieldType">booleans</str> |
| </lst> |
| <lst name="typeMapping"> |
| <str name="valueClass">java.util.Date</str> |
| <str name="fieldType">pdates</str> |
| </lst> |
| <lst name="typeMapping"> |
| <str name="valueClass">java.lang.Long</str> |
| <str name="valueClass">java.lang.Integer</str> |
| <str name="fieldType">plongs</str> |
| </lst> |
| <lst name="typeMapping"> |
| <str name="valueClass">java.lang.Number</str> |
| <str name="fieldType">pdoubles</str> |
| </lst> |
| </updateProcessor> |
| |
| <!-- The update.autoCreateFields property can be turned to false to disable schemaless mode --> |
| <updateRequestProcessorChain name="add-unknown-fields-to-the-schema" default="${update.autoCreateFields:true}" |
| processor="uuid,remove-blank,field-name-mutating,parse-boolean,parse-long,parse-double,parse-date,add-schema-fields"> |
| <processor class="solr.LogUpdateProcessorFactory"/> |
| <processor class="solr.DistributedUpdateProcessorFactory"/> |
| <processor class="solr.RunUpdateProcessorFactory"/> |
| </updateRequestProcessorChain> |
| |
| <queryResponseWriter name="json" class="solr.JSONResponseWriter"> |
| <!-- For the purposes of the tutorial, JSON responses are written as |
| plain text so that they are easy to read in *any* browser. |
| If you expect a MIME type of "application/json" just remove this override. |
| --> |
| <str name="content-type">text/plain; charset=UTF-8</str> |
| </queryResponseWriter> |
| |
| </config> |