SOLR-11135: Update Ref Guide links in READMEs, config files and UI

This commit is contained in:
Cassandra Targett 2017-07-21 21:05:58 -05:00
parent eae2efcbd9
commit cbe7084a8e
14 changed files with 843 additions and 846 deletions

View File

@ -8,7 +8,7 @@ deploy that model to Solr and use it to rerank your top X search results.
# Getting Started With Solr Learning To Rank # Getting Started With Solr Learning To Rank
For information on how to get started with solr ltr please see: For information on how to get started with solr ltr please see:
* [Solr Reference Guide's section on Learning To Rank](https://cwiki.apache.org/confluence/display/solr/Learning+To+Rank) * [Solr Reference Guide's section on Learning To Rank](https://lucene.apache.org/solr/guide/learning-to-rank.html)
# Getting Started With Solr # Getting Started With Solr
@ -21,4 +21,3 @@ For information on how to get started with solr please see:
For information on how to contribute see: For information on how to contribute see:
* http://wiki.apache.org/lucene-java/HowToContribute * http://wiki.apache.org/lucene-java/HowToContribute
* http://wiki.apache.org/solr/HowToContribute * http://wiki.apache.org/solr/HowToContribute

View File

@ -1,6 +1,6 @@
This README file is only about this example directory's content. This README file is only about this example directory's content.
Please refer to the Solr Reference Guide's section on [Learning To Rank](https://cwiki.apache.org/confluence/display/solr/Learning+To+Rank) section for broader information on Learning to Rank (LTR) with Apache Solr. Please refer to the Solr Reference Guide's section on [Learning To Rank](https://lucene.apache.org/solr/guide/learning-to-rank.html) section for broader information on Learning to Rank (LTR) with Apache Solr.
# Start Solr with the LTR plugin enabled # Start Solr with the LTR plugin enabled
@ -101,8 +101,8 @@ hard drive|6H500F0 |0|CLICK_LOGS
hard drive|F8V7067-APL-KIT|0|CLICK_LOGS hard drive|F8V7067-APL-KIT|0|CLICK_LOGS
``` ```
This is a really trival way to generate a training dataset, and in many settings This is a really trival way to generate a training dataset, and in many settings
it might not produce great results. Indeed, it is a well known fact that it might not produce great results. Indeed, it is a well known fact that
clicks are *biased*: users tend to click on the first clicks are *biased*: users tend to click on the first
result proposed for a query, also if it is not relevant. A click on a document in position result proposed for a query, also if it is not relevant. A click on a document in position
five could be considered more important than a click on a document in position one, because five could be considered more important than a click on a document in position one, because
@ -128,5 +128,3 @@ Usually a human worker visualizes a query together with a list of results and th
consists in assigning a relevance label to each document (e.g., Perfect, Excellent, Good, Fair, Not relevant). consists in assigning a relevance label to each document (e.g., Perfect, Excellent, Good, Fair, Not relevant).
Training data can then be obtained by translating the labels into numeric scores Training data can then be obtained by translating the labels into numeric scores
(e.g., Perfect = 4, Excellent = 3, Good = 2, Fair = 1, Not relevant = 0). (e.g., Perfect = 4, Excellent = 3, Good = 2, Fair = 1, Not relevant = 0).

View File

@ -16,9 +16,9 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
For more details about configurations options that may appear in For more details about configurations options that may appear in
this file, see http://wiki.apache.org/solr/SolrConfigXml. this file, see http://wiki.apache.org/solr/SolrConfigXml.
--> -->
<config> <config>
<!-- In all configuration below, a prefix of "solr." for class names <!-- In all configuration below, a prefix of "solr." for class names
@ -46,19 +46,19 @@
instanceDir. instanceDir.
Please note that <lib/> directives are processed in the order Please note that <lib/> directives are processed in the order
that they appear in your solrconfig.xml file, and are "stacked" that they appear in your solrconfig.xml file, and are "stacked"
on top of each other when building a ClassLoader - so if you have on top of each other when building a ClassLoader - so if you have
plugin jars with dependencies on other jars, the "lower level" plugin jars with dependencies on other jars, the "lower level"
dependency jars should be loaded first. dependency jars should be loaded first.
If a "./lib" directory exists in your instanceDir, all files If a "./lib" directory exists in your instanceDir, all files
found in it are included as if you had used the following found in it are included as if you had used the following
syntax... syntax...
<lib dir="./lib" /> <lib dir="./lib" />
--> -->
<!-- A 'dir' option by itself adds any files found in the directory <!-- A 'dir' option by itself adds any files found in the directory
to the classpath, this is useful for including all jars in a to the classpath, this is useful for including all jars in a
directory. directory.
@ -69,7 +69,7 @@
If a 'dir' option (with or without a regex) is used and nothing If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged. is found that matches, a warning will be logged.
The examples below can be used to load some solr-contribs along The examples below can be used to load some solr-contribs along
with their external dependencies. with their external dependencies.
--> -->
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
@ -83,12 +83,12 @@
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged specific jar file. This will cause a serious error to be logged
if it can't be loaded. if it can't be loaded.
--> -->
<!-- <!--
<lib path="../a-jar-that-does-not-exist.jar" /> <lib path="../a-jar-that-does-not-exist.jar" />
--> -->
<!-- Data Directory <!-- Data Directory
@ -102,7 +102,7 @@
<!-- The DirectoryFactory to use for indexes. <!-- The DirectoryFactory to use for indexes.
solr.StandardDirectoryFactory is filesystem solr.StandardDirectoryFactory is filesystem
based and tries to pick the best implementation for the current based and tries to pick the best implementation for the current
JVM and platform. solr.NRTCachingDirectoryFactory, the default, JVM and platform. solr.NRTCachingDirectoryFactory, the default,
@ -125,7 +125,7 @@
are experimental, so if you choose to customize the index format, it's a good are experimental, so if you choose to customize the index format, it's a good
idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader) idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader)
before upgrading to a newer version to avoid unnecessary reindexing. before upgrading to a newer version to avoid unnecessary reindexing.
A "compressionMode" string element can be added to <codecFactory> to choose A "compressionMode" string element can be added to <codecFactory> to choose
between the existing compression modes in the default codec: "BEST_SPEED" (default) between the existing compression modes in the default codec: "BEST_SPEED" (default)
or "BEST_COMPRESSION". or "BEST_COMPRESSION".
--> -->
@ -135,19 +135,19 @@
Index Config - These settings control low-level behavior of indexing Index Config - These settings control low-level behavior of indexing
Most example settings here show the default value, but are commented Most example settings here show the default value, but are commented
out, to more easily see where customizations have been made. out, to more easily see where customizations have been made.
Note: This replaces <indexDefaults> and <mainIndex> from older versions Note: This replaces <indexDefaults> and <mainIndex> from older versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<indexConfig> <indexConfig>
<!-- maxFieldLength was removed in 4.0. To get similar behavior, include a <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
LimitTokenCountFilterFactory in your fieldType definition. E.g. LimitTokenCountFilterFactory in your fieldType definition. E.g.
<filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
--> -->
<!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
<!-- <writeLockTimeout>1000</writeLockTimeout> --> <!-- <writeLockTimeout>1000</writeLockTimeout> -->
<!-- Expert: Enabling compound file will use less files for the index, <!-- Expert: Enabling compound file will use less files for the index,
using fewer file descriptors on the expense of performance decrease. using fewer file descriptors on the expense of performance decrease.
Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
<!-- <useCompoundFile>false</useCompoundFile> --> <!-- <useCompoundFile>false</useCompoundFile> -->
@ -161,7 +161,7 @@
<!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
<!-- Expert: Merge Policy <!-- Expert: Merge Policy
The Merge Policy in Lucene controls how merging of segments is done. The Merge Policy in Lucene controls how merging of segments is done.
The default since Solr/Lucene 3.3 is TieredMergePolicy. The default since Solr/Lucene 3.3 is TieredMergePolicy.
The default since Lucene 2.3 was the LogByteSizeMergePolicy, The default since Lucene 2.3 was the LogByteSizeMergePolicy,
@ -181,15 +181,15 @@
can perform merges in the background using separate threads. can perform merges in the background using separate threads.
The SerialMergeScheduler (Lucene 2.2 default) does not. The SerialMergeScheduler (Lucene 2.2 default) does not.
--> -->
<!-- <!--
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
--> -->
<!-- LockFactory <!-- LockFactory
This option specifies which Lucene LockFactory implementation This option specifies which Lucene LockFactory implementation
to use. to use.
single = SingleInstanceLockFactory - suggested for a single = SingleInstanceLockFactory - suggested for a
read-only index or when there is no possibility of read-only index or when there is no possibility of
another process trying to modify the index. another process trying to modify the index.
@ -213,11 +213,11 @@
The default Solr IndexDeletionPolicy implementation supports The default Solr IndexDeletionPolicy implementation supports
deleting index commit points on number of commits, age of deleting index commit points on number of commits, age of
commit point and optimized status. commit point and optimized status.
The latest commit point should always be preserved regardless The latest commit point should always be preserved regardless
of the criteria. of the criteria.
--> -->
<!-- <!--
<deletionPolicy class="solr.SolrDeletionPolicy"> <deletionPolicy class="solr.SolrDeletionPolicy">
--> -->
<!-- The number of commit points to be kept --> <!-- The number of commit points to be kept -->
@ -232,12 +232,12 @@
<str name="maxCommitAge">30MINUTES</str> <str name="maxCommitAge">30MINUTES</str>
<str name="maxCommitAge">1DAY</str> <str name="maxCommitAge">1DAY</str>
--> -->
<!-- <!--
</deletionPolicy> </deletionPolicy>
--> -->
<!-- Lucene Infostream <!-- Lucene Infostream
To aid in advanced debugging, Lucene provides an "InfoStream" To aid in advanced debugging, Lucene provides an "InfoStream"
of detailed information when indexing. of detailed information when indexing.
@ -249,7 +249,7 @@
<!-- JMX <!-- JMX
This example enables JMX if and only if an existing MBeanServer This example enables JMX if and only if an existing MBeanServer
is found, use this if you want to configure JMX through JVM is found, use this if you want to configure JMX through JVM
parameters. Remove this to disable exposing Solr configuration parameters. Remove this to disable exposing Solr configuration
@ -259,7 +259,7 @@
--> -->
<jmx /> <jmx />
<!-- If you want to connect to a particular server, specify the <!-- If you want to connect to a particular server, specify the
agentId agentId
--> -->
<!-- <jmx agentId="myAgent" /> --> <!-- <jmx agentId="myAgent" /> -->
<!-- If you want to start a new MBeanServer, specify the serviceUrl --> <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
@ -291,7 +291,7 @@
Perform a hard commit automatically under certain conditions. Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin" Instead of enabling autoCommit, consider using "commitWithin"
when adding documents. when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages http://wiki.apache.org/solr/UpdateXmlMessages
@ -300,7 +300,7 @@
maxTime - Maximum amount of time in ms that is allowed to pass maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically since a document was added before automatically
triggering a new commit. triggering a new commit.
openSearcher - if false, the commit causes recent index changes openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible. searcher to be opened to make those changes visible.
@ -324,7 +324,7 @@
</autoSoftCommit> </autoSoftCommit>
<!-- Update Related Event Listeners <!-- Update Related Event Listeners
Various IndexWriter related events can trigger Listeners to Various IndexWriter related events can trigger Listeners to
take actions. take actions.
@ -333,10 +333,10 @@
--> -->
<!-- The RunExecutableListener executes an external command from a <!-- The RunExecutableListener executes an external command from a
hook such as postCommit or postOptimize. hook such as postCommit or postOptimize.
exe - the name of the executable to run exe - the name of the executable to run
dir - dir to use as the current working directory. (default=".") dir - dir to use as the current working directory. (default=".")
wait - the calling thread waits until the executable returns. wait - the calling thread waits until the executable returns.
(default="true") (default="true")
args - the arguments to pass to the program. (default is none) args - the arguments to pass to the program. (default is none)
env - environment variables to set. (default is none) env - environment variables to set. (default is none)
@ -401,7 +401,7 @@
There are two implementations of cache available for Solr, There are two implementations of cache available for Solr,
LRUCache, based on a synchronized LinkedHashMap, and LRUCache, based on a synchronized LinkedHashMap, and
FastLRUCache, based on a ConcurrentHashMap. FastLRUCache, based on a ConcurrentHashMap.
FastLRUCache has faster gets and slower puts in single FastLRUCache has faster gets and slower puts in single
threaded operation and thus is generally faster than LRUCache threaded operation and thus is generally faster than LRUCache
@ -437,7 +437,7 @@
autowarmCount="0"/> autowarmCount="0"/>
<!-- Query Result Cache <!-- Query Result Cache
Caches results of searches - ordered lists of document ids Caches results of searches - ordered lists of document ids
(DocList) based on a query, a sort, and the range of documents requested. (DocList) based on a query, a sort, and the range of documents requested.
Additional supported parameter by LRUCache: Additional supported parameter by LRUCache:
@ -469,7 +469,7 @@
regenerator="solr.NoOpRegenerator" /> regenerator="solr.NoOpRegenerator" />
<!-- Field Value Cache <!-- Field Value Cache
Cache used to hold field values that are quickly accessible Cache used to hold field values that are quickly accessible
by document id. The fieldValueCache is created by default by document id. The fieldValueCache is created by default
even if not configured here. even if not configured here.
@ -487,8 +487,8 @@
name through SolrIndexSearcher.getCache(),cacheLookup(), and name through SolrIndexSearcher.getCache(),cacheLookup(), and
cacheInsert(). The purpose is to enable easy caching of cacheInsert(). The purpose is to enable easy caching of
user/application level data. The regenerator argument should user/application level data. The regenerator argument should
be specified as an implementation of solr.CacheRegenerator be specified as an implementation of solr.CacheRegenerator
if autowarming is desired. if autowarming is desired.
--> -->
<!-- <!--
<cache name="myUserCache" <cache name="myUserCache"
@ -512,14 +512,14 @@
<enableLazyFieldLoading>true</enableLazyFieldLoading> <enableLazyFieldLoading>true</enableLazyFieldLoading>
<!-- Use Filter For Sorted Query <!-- Use Filter For Sorted Query
A possible optimization that attempts to use a filter to A possible optimization that attempts to use a filter to
satisfy a search. If the requested sort does not include satisfy a search. If the requested sort does not include
score, then the filterCache will be checked for a filter score, then the filterCache will be checked for a filter
matching the query. If found, the filter will be used as the matching the query. If found, the filter will be used as the
source of document ids, and then the sort will be applied to source of document ids, and then the sort will be applied to
that. that.
For most situations, this will not be useful unless you For most situations, this will not be useful unless you
frequently get the same search repeatedly with different sort frequently get the same search repeatedly with different sort
options, and none of them ever use "score" options, and none of them ever use "score"
@ -529,39 +529,39 @@
--> -->
<!-- Result Window Size <!-- Result Window Size
An optimization for use with the queryResultCache. When a search An optimization for use with the queryResultCache. When a search
is requested, a superset of the requested number of document ids is requested, a superset of the requested number of document ids
are collected. For example, if a search for a particular query are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50, requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. requests in that range can be satisfied via the cache.
--> -->
<queryResultWindowSize>20</queryResultWindowSize> <queryResultWindowSize>20</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the <!-- Maximum number of documents to cache for any entry in the
queryResultCache. queryResultCache.
--> -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached> <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
<!-- Query Related Event Listeners <!-- Query Related Event Listeners
Various IndexSearcher related events can trigger Listeners to Various IndexSearcher related events can trigger Listeners to
take actions. take actions.
newSearcher - fired whenever a new searcher is being prepared newSearcher - fired whenever a new searcher is being prepared
and there is a current searcher handling requests (aka and there is a current searcher handling requests (aka
registered). It can be used to prime certain caches to registered). It can be used to prime certain caches to
prevent long request times for certain requests. prevent long request times for certain requests.
firstSearcher - fired whenever a new searcher is being firstSearcher - fired whenever a new searcher is being
prepared but there is no current registered searcher to handle prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. requests or to gain autowarming data from.
--> -->
<!-- QuerySenderListener takes an array of NamedList and executes a <!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. local query request for each NamedList in sequence.
--> -->
<listener event="newSearcher" class="solr.QuerySenderListener"> <listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries"> <arr name="queries">
@ -611,19 +611,19 @@
multipartUploadLimitInKB - specifies the max size (in KiB) of multipartUploadLimitInKB - specifies the max size (in KiB) of
Multipart File Uploads that Solr will allow in a Request. Multipart File Uploads that Solr will allow in a Request.
formdataUploadLimitInKB - specifies the max size (in KiB) of formdataUploadLimitInKB - specifies the max size (in KiB) of
form data (application/x-www-form-urlencoded) sent via form data (application/x-www-form-urlencoded) sent via
POST. You can use POST to pass request parameters not POST. You can use POST to pass request parameters not
fitting into the URL. fitting into the URL.
addHttpRequestToContext - if set to true, it will instruct addHttpRequestToContext - if set to true, it will instruct
the requestParsers to include the original HttpServletRequest the requestParsers to include the original HttpServletRequest
object in the context map of the SolrQueryRequest under the object in the context map of the SolrQueryRequest under the
key "httpRequest". It will not be used by any of the existing key "httpRequest". It will not be used by any of the existing
Solr components, but may be useful when developing custom Solr components, but may be useful when developing custom
plugins. plugins.
*** WARNING *** *** WARNING ***
Before enabling remote streaming, you should make sure your Before enabling remote streaming, you should make sure your
system has authentication enabled. system has authentication enabled.
@ -645,21 +645,21 @@
<!-- If you include a <cacheControl> directive, it will be used to <!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header (as well as an Expires header generate a Cache-Control header (as well as an Expires header
if the value contains "max-age=") if the value contains "max-age=")
By default, no Cache-Control header is generated. By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set You can use the <cacheControl> option even if you have set
never304="true" never304="true"
--> -->
<!-- <!--
<httpCaching never304="true" > <httpCaching never304="true" >
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
<!-- To enable Solr to respond with automatically generated HTTP <!-- To enable Solr to respond with automatically generated HTTP
Caching headers, and to response to Cache Validation requests Caching headers, and to response to Cache Validation requests
correctly, set the value of never304="false" correctly, set the value of never304="false"
This will cause Solr to generate Last-Modified and ETag This will cause Solr to generate Last-Modified and ETag
headers based on the properties of the Index. headers based on the properties of the Index.
@ -684,12 +684,12 @@
<!-- <!--
<httpCaching lastModifiedFrom="openTime" <httpCaching lastModifiedFrom="openTime"
etagSeed="Solr"> etagSeed="Solr">
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
</requestDispatcher> </requestDispatcher>
<!-- Request Handlers <!-- Request Handlers
http://wiki.apache.org/solr/SolrRequestHandler http://wiki.apache.org/solr/SolrRequestHandler
@ -783,7 +783,7 @@
<!-- A Robust Example <!-- A Robust Example
This example SearchHandler declaration shows off usage of the This example SearchHandler declaration shows off usage of the
SearchHandler with many defaults declared SearchHandler with many defaults declared
@ -805,7 +805,7 @@
<!-- Solr Cell Update Request Handler <!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandler
--> -->
<requestHandler name="/update/extract" <requestHandler name="/update/extract"
@ -820,18 +820,18 @@
<!-- Search Components <!-- Search Components
Search components are registered to SolrCore and used by Search components are registered to SolrCore and used by
instances of SearchHandler (which can access them by name) instances of SearchHandler (which can access them by name)
By default, the following components are available: By default, the following components are available:
<searchComponent name="query" class="solr.QueryComponent" /> <searchComponent name="query" class="solr.QueryComponent" />
<searchComponent name="facet" class="solr.FacetComponent" /> <searchComponent name="facet" class="solr.FacetComponent" />
<searchComponent name="mlt" class="solr.MoreLikeThisComponent" /> <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
<searchComponent name="highlight" class="solr.HighlightComponent" /> <searchComponent name="highlight" class="solr.HighlightComponent" />
<searchComponent name="stats" class="solr.StatsComponent" /> <searchComponent name="stats" class="solr.StatsComponent" />
<searchComponent name="debug" class="solr.DebugComponent" /> <searchComponent name="debug" class="solr.DebugComponent" />
Default configuration in a requestHandler would look like: Default configuration in a requestHandler would look like:
<arr name="components"> <arr name="components">
@ -843,28 +843,28 @@
<str>debug</str> <str>debug</str>
</arr> </arr>
If you register a searchComponent to one of the standard names, If you register a searchComponent to one of the standard names,
that will be used instead of the default. that will be used instead of the default.
To insert components before or after the 'standard' components, use: To insert components before or after the 'standard' components, use:
<arr name="first-components"> <arr name="first-components">
<str>myFirstComponentName</str> <str>myFirstComponentName</str>
</arr> </arr>
<arr name="last-components"> <arr name="last-components">
<str>myLastComponentName</str> <str>myLastComponentName</str>
</arr> </arr>
NOTE: The component registered with the name "debug" will NOTE: The component registered with the name "debug" will
always be executed after the "last-components" always be executed after the "last-components"
--> -->
<!-- Spell Check <!-- Spell Check
The spell check component can return a list of alternative spelling The spell check component can return a list of alternative spelling
suggestions. suggestions.
http://wiki.apache.org/solr/SpellCheckComponent http://wiki.apache.org/solr/SpellCheckComponent
--> -->
@ -913,7 +913,7 @@
--> -->
</searchComponent> </searchComponent>
<!-- A request handler for demonstrating the spellcheck component. <!-- A request handler for demonstrating the spellcheck component.
NOTE: This is purely as an example. The whole purpose of the NOTE: This is purely as an example. The whole purpose of the
SpellCheckComponent is to hook it into the request handler that SpellCheckComponent is to hook it into the request handler that
@ -922,7 +922,7 @@
IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM! NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
See http://wiki.apache.org/solr/SpellCheckComponent for details See http://wiki.apache.org/solr/SpellCheckComponent for details
on the request parameters. on the request parameters.
--> -->
@ -958,8 +958,8 @@
This is purely as an example. This is purely as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults"> <lst name="defaults">
@ -1032,8 +1032,8 @@
</lst> </lst>
</fragmenter> </fragmenter>
<!-- A regular-expression-based fragmenter <!-- A regular-expression-based fragmenter
(for sentence extraction) (for sentence extraction)
--> -->
<fragmenter name="regex" <fragmenter name="regex"
class="solr.highlight.RegexFragmenter"> class="solr.highlight.RegexFragmenter">
@ -1078,7 +1078,7 @@
<fragmentsBuilder name="default" <fragmentsBuilder name="default"
default="true" default="true"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<!-- <!--
<lst name="defaults"> <lst name="defaults">
<str name="hl.multiValuedSeparatorChar">/</str> <str name="hl.multiValuedSeparatorChar">/</str>
</lst> </lst>
@ -1131,19 +1131,19 @@
http://wiki.apache.org/solr/UpdateRequestProcessor http://wiki.apache.org/solr/UpdateRequestProcessor
--> -->
<!-- Add unknown fields to the schema <!-- Add unknown fields to the schema
Field type guessing update processors that will Field type guessing update processors that will
attempt to parse string-typed field values as Booleans, Longs, attempt to parse string-typed field values as Booleans, Longs,
Doubles, or Dates, and then add schema fields with the guessed Doubles, or Dates, and then add schema fields with the guessed
field types. Text content will be indexed as "text_general" as field types. Text content will be indexed as "text_general" as
well as a copy to a plain string version in *_str. well as a copy to a plain string version in *_str.
These require that the schema is both managed and mutable, by These require that the schema is both managed and mutable, by
declaring schemaFactory as ManagedIndexSchemaFactory, with declaring schemaFactory as ManagedIndexSchemaFactory, with
mutable specified as true. mutable specified as true.
See http://wiki.apache.org/solr/GuessingFieldTypes See http://wiki.apache.org/solr/GuessingFieldTypes
--> -->
<updateProcessor class="solr.UUIDUpdateProcessorFactory" name="uuid"/> <updateProcessor class="solr.UUIDUpdateProcessorFactory" name="uuid"/>
@ -1220,8 +1220,8 @@
on the fly based on the hash code of some other fields. This on the fly based on the hash code of some other fields. This
example has overwriteDupes set to false since we are using the example has overwriteDupes set to false since we are using the
id field as the signatureField and Solr will maintain id field as the signatureField and Solr will maintain
uniqueness based on that anyway. uniqueness based on that anyway.
--> -->
<!-- <!--
<updateRequestProcessorChain name="dedupe"> <updateRequestProcessorChain name="dedupe">
@ -1292,7 +1292,7 @@
overridden... overridden...
--> -->
<!-- <!--
<queryResponseWriter name="xml" <queryResponseWriter name="xml"
default="true" default="true"
class="solr.XMLResponseWriter" /> class="solr.XMLResponseWriter" />
<queryResponseWriter name="json" class="solr.JSONResponseWriter"/> <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
@ -1323,7 +1323,7 @@
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.
--> -->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"> <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int> <int name="xsltCacheLifetimeSeconds">5</int>
@ -1331,7 +1331,7 @@
<!-- Query Parsers <!-- Query Parsers
https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html
Multiple QParserPlugins can be registered by name, and then Multiple QParserPlugins can be registered by name, and then
used in either the "defType" param for the QueryComponent (used used in either the "defType" param for the QueryComponent (used
@ -1351,7 +1351,7 @@
--> -->
<!-- example of registering a custom function parser --> <!-- example of registering a custom function parser -->
<!-- <!--
<valueSourceParser name="myfunc" <valueSourceParser name="myfunc"
class="com.mycompany.MyValueSourceParser" /> class="com.mycompany.MyValueSourceParser" />
--> -->
@ -1364,12 +1364,12 @@
<transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
<int name="connection">jdbc://....</int> <int name="connection">jdbc://....</int>
</transformer> </transformer>
To add a constant value to all docs, use: To add a constant value to all docs, use:
<transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<int name="value">5</int> <int name="value">5</int>
</transformer> </transformer>
If you want the user to still be able to change it with _value:something_ use this: If you want the user to still be able to change it with _value:something_ use this:
<transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<double name="defaultValue">5</double> <double name="defaultValue">5</double>

View File

@ -46,4 +46,4 @@ When Solr is started connect to:
http://localhost:8983/solr/tika/dataimport?command=full-import http://localhost:8983/solr/tika/dataimport?command=full-import
Check also the Solr Reference Guide for detailed usage guide: Check also the Solr Reference Guide for detailed usage guide:
https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler https://lucene.apache.org/solr/guide/uploading-structured-data-store-data-with-the-data-import-handler.html

View File

@ -16,17 +16,17 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
This is a DEMO configuration, highlighting elements This is a DEMO configuration, highlighting elements
specifically needed to get this example running specifically needed to get this example running
such as libraries and request handler specifics. such as libraries and request handler specifics.
It uses defaults or does not define most of production-level settings It uses defaults or does not define most of production-level settings
such as various caches or auto-commit policies. such as various caches or auto-commit policies.
See Solr Reference Guide and other examples for See Solr Reference Guide and other examples for
more details on a well configured solrconfig.xml more details on a well configured solrconfig.xml
https://cwiki.apache.org/confluence/display/solr/The+Well-Configured+Solr+Instance https://lucene.apache.org/solr/guide/the-well-configured-solr-instance.html
--> -->
<config> <config>

View File

@ -16,9 +16,9 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
For more details about configurations options that may appear in For more details about configurations options that may appear in
this file, see http://wiki.apache.org/solr/SolrConfigXml. this file, see http://wiki.apache.org/solr/SolrConfigXml.
--> -->
<config> <config>
<!-- In all configuration below, a prefix of "solr." for class names <!-- In all configuration below, a prefix of "solr." for class names
@ -46,19 +46,19 @@
instanceDir. instanceDir.
Please note that <lib/> directives are processed in the order Please note that <lib/> directives are processed in the order
that they appear in your solrconfig.xml file, and are "stacked" that they appear in your solrconfig.xml file, and are "stacked"
on top of each other when building a ClassLoader - so if you have on top of each other when building a ClassLoader - so if you have
plugin jars with dependencies on other jars, the "lower level" plugin jars with dependencies on other jars, the "lower level"
dependency jars should be loaded first. dependency jars should be loaded first.
If a "./lib" directory exists in your instanceDir, all files If a "./lib" directory exists in your instanceDir, all files
found in it are included as if you had used the following found in it are included as if you had used the following
syntax... syntax...
<lib dir="./lib" /> <lib dir="./lib" />
--> -->
<!-- A 'dir' option by itself adds any files found in the directory <!-- A 'dir' option by itself adds any files found in the directory
to the classpath, this is useful for including all jars in a to the classpath, this is useful for including all jars in a
directory. directory.
@ -69,7 +69,7 @@
If a 'dir' option (with or without a regex) is used and nothing If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged. is found that matches, a warning will be logged.
The examples below can be used to load some solr-contribs along The examples below can be used to load some solr-contribs along
with their external dependencies. with their external dependencies.
--> -->
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
@ -83,14 +83,14 @@
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged specific jar file. This will cause a serious error to be logged
if it can't be loaded. if it can't be loaded.
--> -->
<!-- <!--
<lib path="../a-jar-that-does-not-exist.jar" /> <lib path="../a-jar-that-does-not-exist.jar" />
--> -->
<!-- Data Directory <!-- Data Directory
Used to specify an alternate directory to hold all index data Used to specify an alternate directory to hold all index data
@ -102,7 +102,7 @@
<!-- The DirectoryFactory to use for indexes. <!-- The DirectoryFactory to use for indexes.
solr.StandardDirectoryFactory is filesystem solr.StandardDirectoryFactory is filesystem
based and tries to pick the best implementation for the current based and tries to pick the best implementation for the current
JVM and platform. solr.NRTCachingDirectoryFactory, the default, JVM and platform. solr.NRTCachingDirectoryFactory, the default,
@ -114,7 +114,7 @@
solr.RAMDirectoryFactory is memory based and not persistent. solr.RAMDirectoryFactory is memory based and not persistent.
--> -->
<directoryFactory name="DirectoryFactory" <directoryFactory name="DirectoryFactory"
class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/> class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
<!-- The CodecFactory for defining the format of the inverted index. <!-- The CodecFactory for defining the format of the inverted index.
@ -132,19 +132,19 @@
Index Config - These settings control low-level behavior of indexing Index Config - These settings control low-level behavior of indexing
Most example settings here show the default value, but are commented Most example settings here show the default value, but are commented
out, to more easily see where customizations have been made. out, to more easily see where customizations have been made.
Note: This replaces <indexDefaults> and <mainIndex> from older versions Note: This replaces <indexDefaults> and <mainIndex> from older versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<indexConfig> <indexConfig>
<!-- maxFieldLength was removed in 4.0. To get similar behavior, include a <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
LimitTokenCountFilterFactory in your fieldType definition. E.g. LimitTokenCountFilterFactory in your fieldType definition. E.g.
<filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
--> -->
<!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
<!-- <writeLockTimeout>1000</writeLockTimeout> --> <!-- <writeLockTimeout>1000</writeLockTimeout> -->
<!-- Expert: Enabling compound file will use less files for the index, <!-- Expert: Enabling compound file will use less files for the index,
using fewer file descriptors on the expense of performance decrease. using fewer file descriptors on the expense of performance decrease.
Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
<!-- <useCompoundFile>false</useCompoundFile> --> <!-- <useCompoundFile>false</useCompoundFile> -->
@ -159,7 +159,7 @@
<!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
<!-- Expert: Merge Policy <!-- Expert: Merge Policy
The Merge Policy in Lucene controls how merging of segments is done. The Merge Policy in Lucene controls how merging of segments is done.
The default since Solr/Lucene 3.3 is TieredMergePolicy. The default since Solr/Lucene 3.3 is TieredMergePolicy.
The default since Lucene 2.3 was the LogByteSizeMergePolicy, The default since Lucene 2.3 was the LogByteSizeMergePolicy,
@ -178,15 +178,15 @@
can perform merges in the background using separate threads. can perform merges in the background using separate threads.
The SerialMergeScheduler (Lucene 2.2 default) does not. The SerialMergeScheduler (Lucene 2.2 default) does not.
--> -->
<!-- <!--
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
--> -->
<!-- LockFactory <!-- LockFactory
This option specifies which Lucene LockFactory implementation This option specifies which Lucene LockFactory implementation
to use. to use.
single = SingleInstanceLockFactory - suggested for a single = SingleInstanceLockFactory - suggested for a
read-only index or when there is no possibility of read-only index or when there is no possibility of
another process trying to modify the index. another process trying to modify the index.
@ -210,11 +210,11 @@
The default Solr IndexDeletionPolicy implementation supports The default Solr IndexDeletionPolicy implementation supports
deleting index commit points on number of commits, age of deleting index commit points on number of commits, age of
commit point and optimized status. commit point and optimized status.
The latest commit point should always be preserved regardless The latest commit point should always be preserved regardless
of the criteria. of the criteria.
--> -->
<!-- <!--
<deletionPolicy class="solr.SolrDeletionPolicy"> <deletionPolicy class="solr.SolrDeletionPolicy">
--> -->
<!-- The number of commit points to be kept --> <!-- The number of commit points to be kept -->
@ -229,12 +229,12 @@
<str name="maxCommitAge">30MINUTES</str> <str name="maxCommitAge">30MINUTES</str>
<str name="maxCommitAge">1DAY</str> <str name="maxCommitAge">1DAY</str>
--> -->
<!-- <!--
</deletionPolicy> </deletionPolicy>
--> -->
<!-- Lucene Infostream <!-- Lucene Infostream
To aid in advanced debugging, Lucene provides an "InfoStream" To aid in advanced debugging, Lucene provides an "InfoStream"
of detailed information when indexing. of detailed information when indexing.
@ -247,7 +247,7 @@
<!-- JMX <!-- JMX
This example enables JMX if and only if an existing MBeanServer This example enables JMX if and only if an existing MBeanServer
is found, use this if you want to configure JMX through JVM is found, use this if you want to configure JMX through JVM
parameters. Remove this to disable exposing Solr configuration parameters. Remove this to disable exposing Solr configuration
@ -257,7 +257,7 @@
--> -->
<jmx /> <jmx />
<!-- If you want to connect to a particular server, specify the <!-- If you want to connect to a particular server, specify the
agentId agentId
--> -->
<!-- <jmx agentId="myAgent" /> --> <!-- <jmx agentId="myAgent" /> -->
<!-- If you want to start a new MBeanServer, specify the serviceUrl --> <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
@ -272,16 +272,16 @@
uncommitted changes to the index, so use of a hard autoCommit uncommitted changes to the index, so use of a hard autoCommit
is recommended (see below). is recommended (see below).
"dir" - the target directory for transaction logs, defaults to the "dir" - the target directory for transaction logs, defaults to the
solr data directory. --> solr data directory. -->
<updateLog> <updateLog>
<str name="dir">${solr.ulog.dir:}</str> <str name="dir">${solr.ulog.dir:}</str>
</updateLog> </updateLog>
<!-- AutoCommit <!-- AutoCommit
Perform a hard commit automatically under certain conditions. Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin" Instead of enabling autoCommit, consider using "commitWithin"
when adding documents. when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages http://wiki.apache.org/solr/UpdateXmlMessages
@ -290,7 +290,7 @@
maxTime - Maximum amount of time in ms that is allowed to pass maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically since a document was added before automatically
triggering a new commit. triggering a new commit.
openSearcher - if false, the commit causes recent index changes openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible. searcher to be opened to make those changes visible.
@ -298,9 +298,9 @@
If the updateLog is enabled, then it's highly recommended to If the updateLog is enabled, then it's highly recommended to
have some sort of hard autoCommit to limit the log size. have some sort of hard autoCommit to limit the log size.
--> -->
<autoCommit> <autoCommit>
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime> <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
<openSearcher>false</openSearcher> <openSearcher>false</openSearcher>
</autoCommit> </autoCommit>
<!-- softAutoCommit is like autoCommit except it causes a <!-- softAutoCommit is like autoCommit except it causes a
@ -309,12 +309,12 @@
faster and more near-realtime friendly than a hard commit. faster and more near-realtime friendly than a hard commit.
--> -->
<autoSoftCommit> <autoSoftCommit>
<maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
</autoSoftCommit> </autoSoftCommit>
<!-- Update Related Event Listeners <!-- Update Related Event Listeners
Various IndexWriter related events can trigger Listeners to Various IndexWriter related events can trigger Listeners to
take actions. take actions.
@ -323,10 +323,10 @@
--> -->
<!-- The RunExecutableListener executes an external command from a <!-- The RunExecutableListener executes an external command from a
hook such as postCommit or postOptimize. hook such as postCommit or postOptimize.
exe - the name of the executable to run exe - the name of the executable to run
dir - dir to use as the current working directory. (default=".") dir - dir to use as the current working directory. (default=".")
wait - the calling thread waits until the executable returns. wait - the calling thread waits until the executable returns.
(default="true") (default="true")
args - the arguments to pass to the program. (default is none) args - the arguments to pass to the program. (default is none)
env - environment variables to set. (default is none) env - environment variables to set. (default is none)
@ -346,7 +346,7 @@
--> -->
</updateHandler> </updateHandler>
<!-- IndexReaderFactory <!-- IndexReaderFactory
Use the following format to specify a custom IndexReaderFactory, Use the following format to specify a custom IndexReaderFactory,
@ -385,12 +385,12 @@
is thrown if exceeded. is thrown if exceeded.
** WARNING ** ** WARNING **
This option actually modifies a global Lucene property that This option actually modifies a global Lucene property that
will affect all SolrCores. If multiple solrconfig.xml files will affect all SolrCores. If multiple solrconfig.xml files
disagree on this property, the value at any given moment will disagree on this property, the value at any given moment will
be based on the last SolrCore to be initialized. be based on the last SolrCore to be initialized.
--> -->
<maxBooleanClauses>1024</maxBooleanClauses> <maxBooleanClauses>1024</maxBooleanClauses>
@ -399,7 +399,7 @@
There are two implementations of cache available for Solr, There are two implementations of cache available for Solr,
LRUCache, based on a synchronized LinkedHashMap, and LRUCache, based on a synchronized LinkedHashMap, and
FastLRUCache, based on a ConcurrentHashMap. FastLRUCache, based on a ConcurrentHashMap.
FastLRUCache has faster gets and slower puts in single FastLRUCache has faster gets and slower puts in single
threaded operation and thus is generally faster than LRUCache threaded operation and thus is generally faster than LRUCache
@ -424,7 +424,7 @@
initialSize - the initial capacity (number of entries) of initialSize - the initial capacity (number of entries) of
the cache. (see java.util.HashMap) the cache. (see java.util.HashMap)
autowarmCount - the number of entries to prepopulate from autowarmCount - the number of entries to prepopulate from
and old cache. and old cache.
--> -->
<filterCache class="solr.FastLRUCache" <filterCache class="solr.FastLRUCache"
size="512" size="512"
@ -432,27 +432,27 @@
autowarmCount="0"/> autowarmCount="0"/>
<!-- Query Result Cache <!-- Query Result Cache
Caches results of searches - ordered lists of document ids Caches results of searches - ordered lists of document ids
(DocList) based on a query, a sort, and the range of documents requested. (DocList) based on a query, a sort, and the range of documents requested.
--> -->
<queryResultCache class="solr.LRUCache" <queryResultCache class="solr.LRUCache"
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- Document Cache <!-- Document Cache
Caches Lucene Document objects (the stored fields for each Caches Lucene Document objects (the stored fields for each
document). Since Lucene internal document ids are transient, document). Since Lucene internal document ids are transient,
this cache will not be autowarmed. this cache will not be autowarmed.
--> -->
<documentCache class="solr.LRUCache" <documentCache class="solr.LRUCache"
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- custom cache currently used by block join --> <!-- custom cache currently used by block join -->
<cache name="perSegFilter" <cache name="perSegFilter"
class="solr.search.LRUCache" class="solr.search.LRUCache"
size="10" size="10"
@ -461,7 +461,7 @@
regenerator="solr.NoOpRegenerator" /> regenerator="solr.NoOpRegenerator" />
<!-- Field Value Cache <!-- Field Value Cache
Cache used to hold field values that are quickly accessible Cache used to hold field values that are quickly accessible
by document id. The fieldValueCache is created by default by document id. The fieldValueCache is created by default
even if not configured here. even if not configured here.
@ -479,8 +479,8 @@
name through SolrIndexSearcher.getCache(),cacheLookup(), and name through SolrIndexSearcher.getCache(),cacheLookup(), and
cacheInsert(). The purpose is to enable easy caching of cacheInsert(). The purpose is to enable easy caching of
user/application level data. The regenerator argument should user/application level data. The regenerator argument should
be specified as an implementation of solr.CacheRegenerator be specified as an implementation of solr.CacheRegenerator
if autowarming is desired. if autowarming is desired.
--> -->
<!-- <!--
<cache name="myUserCache" <cache name="myUserCache"
@ -527,12 +527,12 @@
are collected. For example, if a search for a particular query are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50, requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. requests in that range can be satisfied via the cache.
--> -->
<queryResultWindowSize>20</queryResultWindowSize> <queryResultWindowSize>20</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the <!-- Maximum number of documents to cache for any entry in the
queryResultCache. queryResultCache.
--> -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached> <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
@ -550,10 +550,10 @@
prepared but there is no current registered searcher to handle prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. requests or to gain autowarming data from.
--> -->
<!-- QuerySenderListener takes an array of NamedList and executes a <!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. local query request for each NamedList in sequence.
--> -->
<listener event="newSearcher" class="solr.QuerySenderListener"> <listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries"> <arr name="queries">
@ -600,19 +600,19 @@
multipartUploadLimitInKB - specifies the max size (in KiB) of multipartUploadLimitInKB - specifies the max size (in KiB) of
Multipart File Uploads that Solr will allow in a Request. Multipart File Uploads that Solr will allow in a Request.
formdataUploadLimitInKB - specifies the max size (in KiB) of formdataUploadLimitInKB - specifies the max size (in KiB) of
form data (application/x-www-form-urlencoded) sent via form data (application/x-www-form-urlencoded) sent via
POST. You can use POST to pass request parameters not POST. You can use POST to pass request parameters not
fitting into the URL. fitting into the URL.
addHttpRequestToContext - if set to true, it will instruct addHttpRequestToContext - if set to true, it will instruct
the requestParsers to include the original HttpServletRequest the requestParsers to include the original HttpServletRequest
object in the context map of the SolrQueryRequest under the object in the context map of the SolrQueryRequest under the
key "httpRequest". It will not be used by any of the existing key "httpRequest". It will not be used by any of the existing
Solr components, but may be useful when developing custom Solr components, but may be useful when developing custom
plugins. plugins.
*** WARNING *** *** WARNING ***
Before enabling remote streaming, you should make sure your Before enabling remote streaming, you should make sure your
system has authentication enabled. system has authentication enabled.
@ -634,21 +634,21 @@
<!-- If you include a <cacheControl> directive, it will be used to <!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header (as well as an Expires header generate a Cache-Control header (as well as an Expires header
if the value contains "max-age=") if the value contains "max-age=")
By default, no Cache-Control header is generated. By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set You can use the <cacheControl> option even if you have set
never304="true" never304="true"
--> -->
<!-- <!--
<httpCaching never304="true" > <httpCaching never304="true" >
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
<!-- To enable Solr to respond with automatically generated HTTP <!-- To enable Solr to respond with automatically generated HTTP
Caching headers, and to response to Cache Validation requests Caching headers, and to response to Cache Validation requests
correctly, set the value of never304="false" correctly, set the value of never304="false"
This will cause Solr to generate Last-Modified and ETag This will cause Solr to generate Last-Modified and ETag
headers based on the properties of the Index. headers based on the properties of the Index.
@ -673,12 +673,12 @@
<!-- <!--
<httpCaching lastModifiedFrom="openTime" <httpCaching lastModifiedFrom="openTime"
etagSeed="Solr"> etagSeed="Solr">
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
</requestDispatcher> </requestDispatcher>
<!-- Request Handlers <!-- Request Handlers
http://wiki.apache.org/solr/SolrRequestHandler http://wiki.apache.org/solr/SolrRequestHandler
@ -817,10 +817,10 @@
<!-- Solr Cell Update Request Handler <!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandler
--> -->
<requestHandler name="/update/extract" <requestHandler name="/update/extract"
startup="lazy" startup="lazy"
class="solr.extraction.ExtractingRequestHandler" > class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults"> <lst name="defaults">
@ -836,18 +836,18 @@
<!-- Search Components <!-- Search Components
Search components are registered to SolrCore and used by Search components are registered to SolrCore and used by
instances of SearchHandler (which can access them by name) instances of SearchHandler (which can access them by name)
By default, the following components are available: By default, the following components are available:
<searchComponent name="query" class="solr.QueryComponent" /> <searchComponent name="query" class="solr.QueryComponent" />
<searchComponent name="facet" class="solr.FacetComponent" /> <searchComponent name="facet" class="solr.FacetComponent" />
<searchComponent name="mlt" class="solr.MoreLikeThisComponent" /> <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
<searchComponent name="highlight" class="solr.HighlightComponent" /> <searchComponent name="highlight" class="solr.HighlightComponent" />
<searchComponent name="stats" class="solr.StatsComponent" /> <searchComponent name="stats" class="solr.StatsComponent" />
<searchComponent name="debug" class="solr.DebugComponent" /> <searchComponent name="debug" class="solr.DebugComponent" />
Default configuration in a requestHandler would look like: Default configuration in a requestHandler would look like:
<arr name="components"> <arr name="components">
@ -859,28 +859,28 @@
<str>debug</str> <str>debug</str>
</arr> </arr>
If you register a searchComponent to one of the standard names, If you register a searchComponent to one of the standard names,
that will be used instead of the default. that will be used instead of the default.
To insert components before or after the 'standard' components, use: To insert components before or after the 'standard' components, use:
<arr name="first-components"> <arr name="first-components">
<str>myFirstComponentName</str> <str>myFirstComponentName</str>
</arr> </arr>
<arr name="last-components"> <arr name="last-components">
<str>myLastComponentName</str> <str>myLastComponentName</str>
</arr> </arr>
NOTE: The component registered with the name "debug" will NOTE: The component registered with the name "debug" will
always be executed after the "last-components" always be executed after the "last-components"
--> -->
<!-- Spell Check <!-- Spell Check
The spell check component can return a list of alternative spelling The spell check component can return a list of alternative spelling
suggestions. suggestions.
http://wiki.apache.org/solr/SpellCheckComponent http://wiki.apache.org/solr/SpellCheckComponent
--> -->
@ -915,11 +915,11 @@
<float name="thresholdTokenFrequency">.01</float> <float name="thresholdTokenFrequency">.01</float>
--> -->
</lst> </lst>
<!-- a spellchecker that can break or combine words. See "/spell" handler below for usage --> <!-- a spellchecker that can break or combine words. See "/spell" handler below for usage -->
<lst name="spellchecker"> <lst name="spellchecker">
<str name="name">wordbreak</str> <str name="name">wordbreak</str>
<str name="classname">solr.WordBreakSolrSpellChecker</str> <str name="classname">solr.WordBreakSolrSpellChecker</str>
<str name="field">name</str> <str name="field">name</str>
<str name="combineWords">true</str> <str name="combineWords">true</str>
<str name="breakWords">true</str> <str name="breakWords">true</str>
@ -938,7 +938,7 @@
</lst> </lst>
--> -->
<!-- a spellchecker that use an alternate comparator <!-- a spellchecker that use an alternate comparator
comparatorClass be one of: comparatorClass be one of:
1. score (default) 1. score (default)
@ -964,8 +964,8 @@
</lst> </lst>
--> -->
</searchComponent> </searchComponent>
<!-- A request handler for demonstrating the spellcheck component. <!-- A request handler for demonstrating the spellcheck component.
NOTE: This is purely as an example. The whole purpose of the NOTE: This is purely as an example. The whole purpose of the
SpellCheckComponent is to hook it into the request handler that SpellCheckComponent is to hook it into the request handler that
@ -974,7 +974,7 @@
IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM! NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
See http://wiki.apache.org/solr/SpellCheckComponent for details See http://wiki.apache.org/solr/SpellCheckComponent for details
on the request parameters. on the request parameters.
--> -->
@ -988,14 +988,14 @@
<str name="spellcheck.dictionary">default</str> <str name="spellcheck.dictionary">default</str>
<str name="spellcheck.dictionary">wordbreak</str> <str name="spellcheck.dictionary">wordbreak</str>
<str name="spellcheck">on</str> <str name="spellcheck">on</str>
<str name="spellcheck.extendedResults">true</str> <str name="spellcheck.extendedResults">true</str>
<str name="spellcheck.count">10</str> <str name="spellcheck.count">10</str>
<str name="spellcheck.alternativeTermCount">5</str> <str name="spellcheck.alternativeTermCount">5</str>
<str name="spellcheck.maxResultsForSuggest">5</str> <str name="spellcheck.maxResultsForSuggest">5</str>
<str name="spellcheck.collate">true</str> <str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str> <str name="spellcheck.collateExtendedResults">true</str>
<str name="spellcheck.maxCollationTries">10</str> <str name="spellcheck.maxCollationTries">10</str>
<str name="spellcheck.maxCollations">5</str> <str name="spellcheck.maxCollations">5</str>
</lst> </lst>
<arr name="last-components"> <arr name="last-components">
<str>spellcheck</str> <str>spellcheck</str>
@ -1006,7 +1006,7 @@
<lst name="suggester"> <lst name="suggester">
<str name="name">mySuggester</str> <str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst --> <str name="lookupImpl">FuzzyLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst -->
<str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory --> <str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory -->
<str name="field">cat</str> <str name="field">cat</str>
<str name="weightField">price</str> <str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">string</str> <str name="suggestAnalyzerFieldType">string</str>
@ -1032,8 +1032,8 @@
This is purely as an example. This is purely as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults"> <lst name="defaults">
@ -1044,7 +1044,7 @@
<str>tvComponent</str> <str>tvComponent</str>
</arr> </arr>
</requestHandler> </requestHandler>
<!-- Terms Component <!-- Terms Component
http://wiki.apache.org/solr/TermsComponent http://wiki.apache.org/solr/TermsComponent
@ -1059,7 +1059,7 @@
<lst name="defaults"> <lst name="defaults">
<bool name="terms">true</bool> <bool name="terms">true</bool>
<bool name="distrib">false</bool> <bool name="distrib">false</bool>
</lst> </lst>
<arr name="components"> <arr name="components">
<str>terms</str> <str>terms</str>
</arr> </arr>
@ -1099,7 +1099,7 @@
<highlighting> <highlighting>
<!-- Configure the standard fragmenter --> <!-- Configure the standard fragmenter -->
<!-- This could most likely be commented out in the "default" case --> <!-- This could most likely be commented out in the "default" case -->
<fragmenter name="gap" <fragmenter name="gap"
default="true" default="true"
class="solr.highlight.GapFragmenter"> class="solr.highlight.GapFragmenter">
<lst name="defaults"> <lst name="defaults">
@ -1107,10 +1107,10 @@
</lst> </lst>
</fragmenter> </fragmenter>
<!-- A regular-expression-based fragmenter <!-- A regular-expression-based fragmenter
(for sentence extraction) (for sentence extraction)
--> -->
<fragmenter name="regex" <fragmenter name="regex"
class="solr.highlight.RegexFragmenter"> class="solr.highlight.RegexFragmenter">
<lst name="defaults"> <lst name="defaults">
<!-- slightly smaller fragsizes work better because of slop --> <!-- slightly smaller fragsizes work better because of slop -->
@ -1123,7 +1123,7 @@
</fragmenter> </fragmenter>
<!-- Configure the standard formatter --> <!-- Configure the standard formatter -->
<formatter name="html" <formatter name="html"
default="true" default="true"
class="solr.highlight.HtmlFormatter"> class="solr.highlight.HtmlFormatter">
<lst name="defaults"> <lst name="defaults">
@ -1133,27 +1133,27 @@
</formatter> </formatter>
<!-- Configure the standard encoder --> <!-- Configure the standard encoder -->
<encoder name="html" <encoder name="html"
class="solr.highlight.HtmlEncoder" /> class="solr.highlight.HtmlEncoder" />
<!-- Configure the standard fragListBuilder --> <!-- Configure the standard fragListBuilder -->
<fragListBuilder name="simple" <fragListBuilder name="simple"
class="solr.highlight.SimpleFragListBuilder"/> class="solr.highlight.SimpleFragListBuilder"/>
<!-- Configure the single fragListBuilder --> <!-- Configure the single fragListBuilder -->
<fragListBuilder name="single" <fragListBuilder name="single"
class="solr.highlight.SingleFragListBuilder"/> class="solr.highlight.SingleFragListBuilder"/>
<!-- Configure the weighted fragListBuilder --> <!-- Configure the weighted fragListBuilder -->
<fragListBuilder name="weighted" <fragListBuilder name="weighted"
default="true" default="true"
class="solr.highlight.WeightedFragListBuilder"/> class="solr.highlight.WeightedFragListBuilder"/>
<!-- default tag FragmentsBuilder --> <!-- default tag FragmentsBuilder -->
<fragmentsBuilder name="default" <fragmentsBuilder name="default"
default="true" default="true"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<!-- <!--
<lst name="defaults"> <lst name="defaults">
<str name="hl.multiValuedSeparatorChar">/</str> <str name="hl.multiValuedSeparatorChar">/</str>
</lst> </lst>
@ -1161,7 +1161,7 @@
</fragmentsBuilder> </fragmentsBuilder>
<!-- multi-colored tag FragmentsBuilder --> <!-- multi-colored tag FragmentsBuilder -->
<fragmentsBuilder name="colored" <fragmentsBuilder name="colored"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<lst name="defaults"> <lst name="defaults">
<str name="hl.tag.pre"><![CDATA[ <str name="hl.tag.pre"><![CDATA[
@ -1173,8 +1173,8 @@
<str name="hl.tag.post"><![CDATA[</b>]]></str> <str name="hl.tag.post"><![CDATA[</b>]]></str>
</lst> </lst>
</fragmentsBuilder> </fragmentsBuilder>
<boundaryScanner name="default" <boundaryScanner name="default"
default="true" default="true"
class="solr.highlight.SimpleBoundaryScanner"> class="solr.highlight.SimpleBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
@ -1182,8 +1182,8 @@
<str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str> <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
</lst> </lst>
</boundaryScanner> </boundaryScanner>
<boundaryScanner name="breakIterator" <boundaryScanner name="breakIterator"
class="solr.highlight.BreakIteratorBoundaryScanner"> class="solr.highlight.BreakIteratorBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
<!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE --> <!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE -->
@ -1205,15 +1205,15 @@
http://wiki.apache.org/solr/UpdateRequestProcessor http://wiki.apache.org/solr/UpdateRequestProcessor
--> -->
<!-- Deduplication <!-- Deduplication
An example dedup update processor that creates the "id" field An example dedup update processor that creates the "id" field
on the fly based on the hash code of some other fields. This on the fly based on the hash code of some other fields. This
example has overwriteDupes set to false since we are using the example has overwriteDupes set to false since we are using the
id field as the signatureField and Solr will maintain id field as the signatureField and Solr will maintain
uniqueness based on that anyway. uniqueness based on that anyway.
--> -->
<!-- <!--
<updateRequestProcessorChain name="dedupe"> <updateRequestProcessorChain name="dedupe">
@ -1228,7 +1228,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Language identification <!-- Language identification
This example update chain identifies the language of the incoming This example update chain identifies the language of the incoming
@ -1268,7 +1268,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Response Writers <!-- Response Writers
http://wiki.apache.org/solr/QueryResponseWriter http://wiki.apache.org/solr/QueryResponseWriter
@ -1284,7 +1284,7 @@
overridden... overridden...
--> -->
<!-- <!--
<queryResponseWriter name="xml" <queryResponseWriter name="xml"
default="true" default="true"
class="solr.XMLResponseWriter" /> class="solr.XMLResponseWriter" />
<queryResponseWriter name="json" class="solr.JSONResponseWriter"/> <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
@ -1303,7 +1303,7 @@
--> -->
<str name="content-type">text/plain; charset=UTF-8</str> <str name="content-type">text/plain; charset=UTF-8</str>
</queryResponseWriter> </queryResponseWriter>
<!-- <!--
Custom response writers can be declared as needed... Custom response writers can be declared as needed...
--> -->
@ -1313,7 +1313,7 @@
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.
--> -->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"> <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int> <int name="xsltCacheLifetimeSeconds">5</int>
@ -1321,7 +1321,7 @@
<!-- Query Parsers <!-- Query Parsers
https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html
Multiple QParserPlugins can be registered by name, and then Multiple QParserPlugins can be registered by name, and then
used in either the "defType" param for the QueryComponent (used used in either the "defType" param for the QueryComponent (used
@ -1341,11 +1341,11 @@
--> -->
<!-- example of registering a custom function parser --> <!-- example of registering a custom function parser -->
<!-- <!--
<valueSourceParser name="myfunc" <valueSourceParser name="myfunc"
class="com.mycompany.MyValueSourceParser" /> class="com.mycompany.MyValueSourceParser" />
--> -->
<!-- Document Transformers <!-- Document Transformers
http://wiki.apache.org/solr/DocTransformers http://wiki.apache.org/solr/DocTransformers
--> -->
@ -1354,12 +1354,12 @@
<transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
<int name="connection">jdbc://....</int> <int name="connection">jdbc://....</int>
</transformer> </transformer>
To add a constant value to all docs, use: To add a constant value to all docs, use:
<transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<int name="value">5</int> <int name="value">5</int>
</transformer> </transformer>
If you want the user to still be able to change it with _value:something_ use this: If you want the user to still be able to change it with _value:something_ use this:
<transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<double name="defaultValue">5</double> <double name="defaultValue">5</double>

View File

@ -16,9 +16,9 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
For more details about configurations options that may appear in For more details about configurations options that may appear in
this file, see http://wiki.apache.org/solr/SolrConfigXml. this file, see http://wiki.apache.org/solr/SolrConfigXml.
--> -->
<config> <config>
<!-- In all configuration below, a prefix of "solr." for class names <!-- In all configuration below, a prefix of "solr." for class names
@ -46,19 +46,19 @@
instanceDir. instanceDir.
Please note that <lib/> directives are processed in the order Please note that <lib/> directives are processed in the order
that they appear in your solrconfig.xml file, and are "stacked" that they appear in your solrconfig.xml file, and are "stacked"
on top of each other when building a ClassLoader - so if you have on top of each other when building a ClassLoader - so if you have
plugin jars with dependencies on other jars, the "lower level" plugin jars with dependencies on other jars, the "lower level"
dependency jars should be loaded first. dependency jars should be loaded first.
If a "./lib" directory exists in your instanceDir, all files If a "./lib" directory exists in your instanceDir, all files
found in it are included as if you had used the following found in it are included as if you had used the following
syntax... syntax...
<lib dir="./lib" /> <lib dir="./lib" />
--> -->
<!-- A 'dir' option by itself adds any files found in the directory <!-- A 'dir' option by itself adds any files found in the directory
to the classpath, this is useful for including all jars in a to the classpath, this is useful for including all jars in a
directory. directory.
@ -69,7 +69,7 @@
If a 'dir' option (with or without a regex) is used and nothing If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged. is found that matches, a warning will be logged.
The examples below can be used to load some solr-contribs along The examples below can be used to load some solr-contribs along
with their external dependencies. with their external dependencies.
--> -->
<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib/" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib/" regex=".*\.jar" />
@ -86,14 +86,14 @@
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged specific jar file. This will cause a serious error to be logged
if it can't be loaded. if it can't be loaded.
--> -->
<!-- <!--
<lib path="../a-jar-that-does-not-exist.jar" /> <lib path="../a-jar-that-does-not-exist.jar" />
--> -->
<!-- Data Directory <!-- Data Directory
Used to specify an alternate directory to hold all index data Used to specify an alternate directory to hold all index data
@ -105,7 +105,7 @@
<!-- The DirectoryFactory to use for indexes. <!-- The DirectoryFactory to use for indexes.
solr.StandardDirectoryFactory is filesystem solr.StandardDirectoryFactory is filesystem
based and tries to pick the best implementation for the current based and tries to pick the best implementation for the current
JVM and platform. solr.NRTCachingDirectoryFactory, the default, JVM and platform. solr.NRTCachingDirectoryFactory, the default,
@ -117,7 +117,7 @@
solr.RAMDirectoryFactory is memory based and not persistent. solr.RAMDirectoryFactory is memory based and not persistent.
--> -->
<directoryFactory name="DirectoryFactory" <directoryFactory name="DirectoryFactory"
class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/> class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
<!-- The CodecFactory for defining the format of the inverted index. <!-- The CodecFactory for defining the format of the inverted index.
@ -135,19 +135,19 @@
Index Config - These settings control low-level behavior of indexing Index Config - These settings control low-level behavior of indexing
Most example settings here show the default value, but are commented Most example settings here show the default value, but are commented
out, to more easily see where customizations have been made. out, to more easily see where customizations have been made.
Note: This replaces <indexDefaults> and <mainIndex> from older versions Note: This replaces <indexDefaults> and <mainIndex> from older versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<indexConfig> <indexConfig>
<!-- maxFieldLength was removed in 4.0. To get similar behavior, include a <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
LimitTokenCountFilterFactory in your fieldType definition. E.g. LimitTokenCountFilterFactory in your fieldType definition. E.g.
<filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
--> -->
<!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
<!-- <writeLockTimeout>1000</writeLockTimeout> --> <!-- <writeLockTimeout>1000</writeLockTimeout> -->
<!-- Expert: Enabling compound file will use less files for the index, <!-- Expert: Enabling compound file will use less files for the index,
using fewer file descriptors on the expense of performance decrease. using fewer file descriptors on the expense of performance decrease.
Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
<!-- <useCompoundFile>false</useCompoundFile> --> <!-- <useCompoundFile>false</useCompoundFile> -->
@ -162,7 +162,7 @@
<!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
<!-- Expert: Merge Policy <!-- Expert: Merge Policy
The Merge Policy in Lucene controls how merging of segments is done. The Merge Policy in Lucene controls how merging of segments is done.
The default since Solr/Lucene 3.3 is TieredMergePolicy. The default since Solr/Lucene 3.3 is TieredMergePolicy.
The default since Lucene 2.3 was the LogByteSizeMergePolicy, The default since Lucene 2.3 was the LogByteSizeMergePolicy,
@ -181,15 +181,15 @@
can perform merges in the background using separate threads. can perform merges in the background using separate threads.
The SerialMergeScheduler (Lucene 2.2 default) does not. The SerialMergeScheduler (Lucene 2.2 default) does not.
--> -->
<!-- <!--
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
--> -->
<!-- LockFactory <!-- LockFactory
This option specifies which Lucene LockFactory implementation This option specifies which Lucene LockFactory implementation
to use. to use.
single = SingleInstanceLockFactory - suggested for a single = SingleInstanceLockFactory - suggested for a
read-only index or when there is no possibility of read-only index or when there is no possibility of
another process trying to modify the index. another process trying to modify the index.
@ -213,11 +213,11 @@
The default Solr IndexDeletionPolicy implementation supports The default Solr IndexDeletionPolicy implementation supports
deleting index commit points on number of commits, age of deleting index commit points on number of commits, age of
commit point and optimized status. commit point and optimized status.
The latest commit point should always be preserved regardless The latest commit point should always be preserved regardless
of the criteria. of the criteria.
--> -->
<!-- <!--
<deletionPolicy class="solr.SolrDeletionPolicy"> <deletionPolicy class="solr.SolrDeletionPolicy">
--> -->
<!-- The number of commit points to be kept --> <!-- The number of commit points to be kept -->
@ -232,12 +232,12 @@
<str name="maxCommitAge">30MINUTES</str> <str name="maxCommitAge">30MINUTES</str>
<str name="maxCommitAge">1DAY</str> <str name="maxCommitAge">1DAY</str>
--> -->
<!-- <!--
</deletionPolicy> </deletionPolicy>
--> -->
<!-- Lucene Infostream <!-- Lucene Infostream
To aid in advanced debugging, Lucene provides an "InfoStream" To aid in advanced debugging, Lucene provides an "InfoStream"
of detailed information when indexing. of detailed information when indexing.
@ -250,7 +250,7 @@
<!-- JMX <!-- JMX
This example enables JMX if and only if an existing MBeanServer This example enables JMX if and only if an existing MBeanServer
is found, use this if you want to configure JMX through JVM is found, use this if you want to configure JMX through JVM
parameters. Remove this to disable exposing Solr configuration parameters. Remove this to disable exposing Solr configuration
@ -260,7 +260,7 @@
--> -->
<jmx /> <jmx />
<!-- If you want to connect to a particular server, specify the <!-- If you want to connect to a particular server, specify the
agentId agentId
--> -->
<!-- <jmx agentId="myAgent" /> --> <!-- <jmx agentId="myAgent" /> -->
<!-- If you want to start a new MBeanServer, specify the serviceUrl --> <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
@ -275,16 +275,16 @@
uncommitted changes to the index, so use of a hard autoCommit uncommitted changes to the index, so use of a hard autoCommit
is recommended (see below). is recommended (see below).
"dir" - the target directory for transaction logs, defaults to the "dir" - the target directory for transaction logs, defaults to the
solr data directory. --> solr data directory. -->
<updateLog> <updateLog>
<str name="dir">${solr.ulog.dir:}</str> <str name="dir">${solr.ulog.dir:}</str>
</updateLog> </updateLog>
<!-- AutoCommit <!-- AutoCommit
Perform a hard commit automatically under certain conditions. Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin" Instead of enabling autoCommit, consider using "commitWithin"
when adding documents. when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages http://wiki.apache.org/solr/UpdateXmlMessages
@ -293,7 +293,7 @@
maxTime - Maximum amount of time in ms that is allowed to pass maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically since a document was added before automatically
triggering a new commit. triggering a new commit.
openSearcher - if false, the commit causes recent index changes openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible. searcher to be opened to make those changes visible.
@ -301,9 +301,9 @@
If the updateLog is enabled, then it's highly recommended to If the updateLog is enabled, then it's highly recommended to
have some sort of hard autoCommit to limit the log size. have some sort of hard autoCommit to limit the log size.
--> -->
<autoCommit> <autoCommit>
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime> <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
<openSearcher>false</openSearcher> <openSearcher>false</openSearcher>
</autoCommit> </autoCommit>
<!-- softAutoCommit is like autoCommit except it causes a <!-- softAutoCommit is like autoCommit except it causes a
@ -312,12 +312,12 @@
faster and more near-realtime friendly than a hard commit. faster and more near-realtime friendly than a hard commit.
--> -->
<autoSoftCommit> <autoSoftCommit>
<maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
</autoSoftCommit> </autoSoftCommit>
<!-- Update Related Event Listeners <!-- Update Related Event Listeners
Various IndexWriter related events can trigger Listeners to Various IndexWriter related events can trigger Listeners to
take actions. take actions.
@ -326,10 +326,10 @@
--> -->
<!-- The RunExecutableListener executes an external command from a <!-- The RunExecutableListener executes an external command from a
hook such as postCommit or postOptimize. hook such as postCommit or postOptimize.
exe - the name of the executable to run exe - the name of the executable to run
dir - dir to use as the current working directory. (default=".") dir - dir to use as the current working directory. (default=".")
wait - the calling thread waits until the executable returns. wait - the calling thread waits until the executable returns.
(default="true") (default="true")
args - the arguments to pass to the program. (default is none) args - the arguments to pass to the program. (default is none)
env - environment variables to set. (default is none) env - environment variables to set. (default is none)
@ -349,7 +349,7 @@
--> -->
</updateHandler> </updateHandler>
<!-- IndexReaderFactory <!-- IndexReaderFactory
Use the following format to specify a custom IndexReaderFactory, Use the following format to specify a custom IndexReaderFactory,
@ -388,12 +388,12 @@
is thrown if exceeded. is thrown if exceeded.
** WARNING ** ** WARNING **
This option actually modifies a global Lucene property that This option actually modifies a global Lucene property that
will affect all SolrCores. If multiple solrconfig.xml files will affect all SolrCores. If multiple solrconfig.xml files
disagree on this property, the value at any given moment will disagree on this property, the value at any given moment will
be based on the last SolrCore to be initialized. be based on the last SolrCore to be initialized.
--> -->
<maxBooleanClauses>1024</maxBooleanClauses> <maxBooleanClauses>1024</maxBooleanClauses>
@ -402,7 +402,7 @@
There are two implementations of cache available for Solr, There are two implementations of cache available for Solr,
LRUCache, based on a synchronized LinkedHashMap, and LRUCache, based on a synchronized LinkedHashMap, and
FastLRUCache, based on a ConcurrentHashMap. FastLRUCache, based on a ConcurrentHashMap.
FastLRUCache has faster gets and slower puts in single FastLRUCache has faster gets and slower puts in single
threaded operation and thus is generally faster than LRUCache threaded operation and thus is generally faster than LRUCache
@ -427,7 +427,7 @@
initialSize - the initial capacity (number of entries) of initialSize - the initial capacity (number of entries) of
the cache. (see java.util.HashMap) the cache. (see java.util.HashMap)
autowarmCount - the number of entries to prepopulate from autowarmCount - the number of entries to prepopulate from
and old cache. and old cache.
--> -->
<filterCache class="solr.FastLRUCache" <filterCache class="solr.FastLRUCache"
size="512" size="512"
@ -435,27 +435,27 @@
autowarmCount="0"/> autowarmCount="0"/>
<!-- Query Result Cache <!-- Query Result Cache
Caches results of searches - ordered lists of document ids Caches results of searches - ordered lists of document ids
(DocList) based on a query, a sort, and the range of documents requested. (DocList) based on a query, a sort, and the range of documents requested.
--> -->
<queryResultCache class="solr.LRUCache" <queryResultCache class="solr.LRUCache"
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- Document Cache <!-- Document Cache
Caches Lucene Document objects (the stored fields for each Caches Lucene Document objects (the stored fields for each
document). Since Lucene internal document ids are transient, document). Since Lucene internal document ids are transient,
this cache will not be autowarmed. this cache will not be autowarmed.
--> -->
<documentCache class="solr.LRUCache" <documentCache class="solr.LRUCache"
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- custom cache currently used by block join --> <!-- custom cache currently used by block join -->
<cache name="perSegFilter" <cache name="perSegFilter"
class="solr.search.LRUCache" class="solr.search.LRUCache"
size="10" size="10"
@ -464,7 +464,7 @@
regenerator="solr.NoOpRegenerator" /> regenerator="solr.NoOpRegenerator" />
<!-- Field Value Cache <!-- Field Value Cache
Cache used to hold field values that are quickly accessible Cache used to hold field values that are quickly accessible
by document id. The fieldValueCache is created by default by document id. The fieldValueCache is created by default
even if not configured here. even if not configured here.
@ -482,8 +482,8 @@
name through SolrIndexSearcher.getCache(),cacheLookup(), and name through SolrIndexSearcher.getCache(),cacheLookup(), and
cacheInsert(). The purpose is to enable easy caching of cacheInsert(). The purpose is to enable easy caching of
user/application level data. The regenerator argument should user/application level data. The regenerator argument should
be specified as an implementation of solr.CacheRegenerator be specified as an implementation of solr.CacheRegenerator
if autowarming is desired. if autowarming is desired.
--> -->
<!-- <!--
<cache name="myUserCache" <cache name="myUserCache"
@ -530,12 +530,12 @@
are collected. For example, if a search for a particular query are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50, requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. requests in that range can be satisfied via the cache.
--> -->
<queryResultWindowSize>20</queryResultWindowSize> <queryResultWindowSize>20</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the <!-- Maximum number of documents to cache for any entry in the
queryResultCache. queryResultCache.
--> -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached> <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
@ -553,10 +553,10 @@
prepared but there is no current registered searcher to handle prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. requests or to gain autowarming data from.
--> -->
<!-- QuerySenderListener takes an array of NamedList and executes a <!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. local query request for each NamedList in sequence.
--> -->
<listener event="newSearcher" class="solr.QuerySenderListener"> <listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries"> <arr name="queries">
@ -603,19 +603,19 @@
multipartUploadLimitInKB - specifies the max size (in KiB) of multipartUploadLimitInKB - specifies the max size (in KiB) of
Multipart File Uploads that Solr will allow in a Request. Multipart File Uploads that Solr will allow in a Request.
formdataUploadLimitInKB - specifies the max size (in KiB) of formdataUploadLimitInKB - specifies the max size (in KiB) of
form data (application/x-www-form-urlencoded) sent via form data (application/x-www-form-urlencoded) sent via
POST. You can use POST to pass request parameters not POST. You can use POST to pass request parameters not
fitting into the URL. fitting into the URL.
addHttpRequestToContext - if set to true, it will instruct addHttpRequestToContext - if set to true, it will instruct
the requestParsers to include the original HttpServletRequest the requestParsers to include the original HttpServletRequest
object in the context map of the SolrQueryRequest under the object in the context map of the SolrQueryRequest under the
key "httpRequest". It will not be used by any of the existing key "httpRequest". It will not be used by any of the existing
Solr components, but may be useful when developing custom Solr components, but may be useful when developing custom
plugins. plugins.
*** WARNING *** *** WARNING ***
Before enabling remote streaming, you should make sure your Before enabling remote streaming, you should make sure your
system has authentication enabled. system has authentication enabled.
@ -637,21 +637,21 @@
<!-- If you include a <cacheControl> directive, it will be used to <!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header (as well as an Expires header generate a Cache-Control header (as well as an Expires header
if the value contains "max-age=") if the value contains "max-age=")
By default, no Cache-Control header is generated. By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set You can use the <cacheControl> option even if you have set
never304="true" never304="true"
--> -->
<!-- <!--
<httpCaching never304="true" > <httpCaching never304="true" >
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
<!-- To enable Solr to respond with automatically generated HTTP <!-- To enable Solr to respond with automatically generated HTTP
Caching headers, and to response to Cache Validation requests Caching headers, and to response to Cache Validation requests
correctly, set the value of never304="false" correctly, set the value of never304="false"
This will cause Solr to generate Last-Modified and ETag This will cause Solr to generate Last-Modified and ETag
headers based on the properties of the Index. headers based on the properties of the Index.
@ -676,12 +676,12 @@
<!-- <!--
<httpCaching lastModifiedFrom="openTime" <httpCaching lastModifiedFrom="openTime"
etagSeed="Solr"> etagSeed="Solr">
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
</requestDispatcher> </requestDispatcher>
<!-- Request Handlers <!-- Request Handlers
http://wiki.apache.org/solr/SolrRequestHandler http://wiki.apache.org/solr/SolrRequestHandler
@ -820,10 +820,10 @@
<!-- Solr Cell Update Request Handler <!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandler
--> -->
<requestHandler name="/update/extract" <requestHandler name="/update/extract"
startup="lazy" startup="lazy"
class="solr.extraction.ExtractingRequestHandler" > class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults"> <lst name="defaults">
@ -839,18 +839,18 @@
<!-- Search Components <!-- Search Components
Search components are registered to SolrCore and used by Search components are registered to SolrCore and used by
instances of SearchHandler (which can access them by name) instances of SearchHandler (which can access them by name)
By default, the following components are available: By default, the following components are available:
<searchComponent name="query" class="solr.QueryComponent" /> <searchComponent name="query" class="solr.QueryComponent" />
<searchComponent name="facet" class="solr.FacetComponent" /> <searchComponent name="facet" class="solr.FacetComponent" />
<searchComponent name="mlt" class="solr.MoreLikeThisComponent" /> <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
<searchComponent name="highlight" class="solr.HighlightComponent" /> <searchComponent name="highlight" class="solr.HighlightComponent" />
<searchComponent name="stats" class="solr.StatsComponent" /> <searchComponent name="stats" class="solr.StatsComponent" />
<searchComponent name="debug" class="solr.DebugComponent" /> <searchComponent name="debug" class="solr.DebugComponent" />
Default configuration in a requestHandler would look like: Default configuration in a requestHandler would look like:
<arr name="components"> <arr name="components">
@ -862,28 +862,28 @@
<str>debug</str> <str>debug</str>
</arr> </arr>
If you register a searchComponent to one of the standard names, If you register a searchComponent to one of the standard names,
that will be used instead of the default. that will be used instead of the default.
To insert components before or after the 'standard' components, use: To insert components before or after the 'standard' components, use:
<arr name="first-components"> <arr name="first-components">
<str>myFirstComponentName</str> <str>myFirstComponentName</str>
</arr> </arr>
<arr name="last-components"> <arr name="last-components">
<str>myLastComponentName</str> <str>myLastComponentName</str>
</arr> </arr>
NOTE: The component registered with the name "debug" will NOTE: The component registered with the name "debug" will
always be executed after the "last-components" always be executed after the "last-components"
--> -->
<!-- Spell Check <!-- Spell Check
The spell check component can return a list of alternative spelling The spell check component can return a list of alternative spelling
suggestions. suggestions.
http://wiki.apache.org/solr/SpellCheckComponent http://wiki.apache.org/solr/SpellCheckComponent
--> -->
@ -918,11 +918,11 @@
<float name="thresholdTokenFrequency">.01</float> <float name="thresholdTokenFrequency">.01</float>
--> -->
</lst> </lst>
<!-- a spellchecker that can break or combine words. See "/spell" handler below for usage --> <!-- a spellchecker that can break or combine words. See "/spell" handler below for usage -->
<lst name="spellchecker"> <lst name="spellchecker">
<str name="name">wordbreak</str> <str name="name">wordbreak</str>
<str name="classname">solr.WordBreakSolrSpellChecker</str> <str name="classname">solr.WordBreakSolrSpellChecker</str>
<str name="field">name</str> <str name="field">name</str>
<str name="combineWords">true</str> <str name="combineWords">true</str>
<str name="breakWords">true</str> <str name="breakWords">true</str>
@ -941,7 +941,7 @@
</lst> </lst>
--> -->
<!-- a spellchecker that use an alternate comparator <!-- a spellchecker that use an alternate comparator
comparatorClass be one of: comparatorClass be one of:
1. score (default) 1. score (default)
@ -967,8 +967,8 @@
</lst> </lst>
--> -->
</searchComponent> </searchComponent>
<!-- A request handler for demonstrating the spellcheck component. <!-- A request handler for demonstrating the spellcheck component.
NOTE: This is purely as an example. The whole purpose of the NOTE: This is purely as an example. The whole purpose of the
SpellCheckComponent is to hook it into the request handler that SpellCheckComponent is to hook it into the request handler that
@ -977,7 +977,7 @@
IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM! NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
See http://wiki.apache.org/solr/SpellCheckComponent for details See http://wiki.apache.org/solr/SpellCheckComponent for details
on the request parameters. on the request parameters.
--> -->
@ -991,14 +991,14 @@
<str name="spellcheck.dictionary">default</str> <str name="spellcheck.dictionary">default</str>
<str name="spellcheck.dictionary">wordbreak</str> <str name="spellcheck.dictionary">wordbreak</str>
<str name="spellcheck">on</str> <str name="spellcheck">on</str>
<str name="spellcheck.extendedResults">true</str> <str name="spellcheck.extendedResults">true</str>
<str name="spellcheck.count">10</str> <str name="spellcheck.count">10</str>
<str name="spellcheck.alternativeTermCount">5</str> <str name="spellcheck.alternativeTermCount">5</str>
<str name="spellcheck.maxResultsForSuggest">5</str> <str name="spellcheck.maxResultsForSuggest">5</str>
<str name="spellcheck.collate">true</str> <str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str> <str name="spellcheck.collateExtendedResults">true</str>
<str name="spellcheck.maxCollationTries">10</str> <str name="spellcheck.maxCollationTries">10</str>
<str name="spellcheck.maxCollations">5</str> <str name="spellcheck.maxCollations">5</str>
</lst> </lst>
<arr name="last-components"> <arr name="last-components">
<str>spellcheck</str> <str>spellcheck</str>
@ -1009,7 +1009,7 @@
<lst name="suggester"> <lst name="suggester">
<str name="name">mySuggester</str> <str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst --> <str name="lookupImpl">FuzzyLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst -->
<str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory --> <str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory -->
<str name="field">cat</str> <str name="field">cat</str>
<str name="weightField">price</str> <str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">string</str> <str name="suggestAnalyzerFieldType">string</str>
@ -1035,8 +1035,8 @@
This is purely as an example. This is purely as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults"> <lst name="defaults">
@ -1062,7 +1062,7 @@
<lst name="defaults"> <lst name="defaults">
<bool name="terms">true</bool> <bool name="terms">true</bool>
<bool name="distrib">false</bool> <bool name="distrib">false</bool>
</lst> </lst>
<arr name="components"> <arr name="components">
<str>terms</str> <str>terms</str>
</arr> </arr>
@ -1102,7 +1102,7 @@
<highlighting> <highlighting>
<!-- Configure the standard fragmenter --> <!-- Configure the standard fragmenter -->
<!-- This could most likely be commented out in the "default" case --> <!-- This could most likely be commented out in the "default" case -->
<fragmenter name="gap" <fragmenter name="gap"
default="true" default="true"
class="solr.highlight.GapFragmenter"> class="solr.highlight.GapFragmenter">
<lst name="defaults"> <lst name="defaults">
@ -1110,10 +1110,10 @@
</lst> </lst>
</fragmenter> </fragmenter>
<!-- A regular-expression-based fragmenter <!-- A regular-expression-based fragmenter
(for sentence extraction) (for sentence extraction)
--> -->
<fragmenter name="regex" <fragmenter name="regex"
class="solr.highlight.RegexFragmenter"> class="solr.highlight.RegexFragmenter">
<lst name="defaults"> <lst name="defaults">
<!-- slightly smaller fragsizes work better because of slop --> <!-- slightly smaller fragsizes work better because of slop -->
@ -1126,7 +1126,7 @@
</fragmenter> </fragmenter>
<!-- Configure the standard formatter --> <!-- Configure the standard formatter -->
<formatter name="html" <formatter name="html"
default="true" default="true"
class="solr.highlight.HtmlFormatter"> class="solr.highlight.HtmlFormatter">
<lst name="defaults"> <lst name="defaults">
@ -1136,27 +1136,27 @@
</formatter> </formatter>
<!-- Configure the standard encoder --> <!-- Configure the standard encoder -->
<encoder name="html" <encoder name="html"
class="solr.highlight.HtmlEncoder" /> class="solr.highlight.HtmlEncoder" />
<!-- Configure the standard fragListBuilder --> <!-- Configure the standard fragListBuilder -->
<fragListBuilder name="simple" <fragListBuilder name="simple"
class="solr.highlight.SimpleFragListBuilder"/> class="solr.highlight.SimpleFragListBuilder"/>
<!-- Configure the single fragListBuilder --> <!-- Configure the single fragListBuilder -->
<fragListBuilder name="single" <fragListBuilder name="single"
class="solr.highlight.SingleFragListBuilder"/> class="solr.highlight.SingleFragListBuilder"/>
<!-- Configure the weighted fragListBuilder --> <!-- Configure the weighted fragListBuilder -->
<fragListBuilder name="weighted" <fragListBuilder name="weighted"
default="true" default="true"
class="solr.highlight.WeightedFragListBuilder"/> class="solr.highlight.WeightedFragListBuilder"/>
<!-- default tag FragmentsBuilder --> <!-- default tag FragmentsBuilder -->
<fragmentsBuilder name="default" <fragmentsBuilder name="default"
default="true" default="true"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<!-- <!--
<lst name="defaults"> <lst name="defaults">
<str name="hl.multiValuedSeparatorChar">/</str> <str name="hl.multiValuedSeparatorChar">/</str>
</lst> </lst>
@ -1164,7 +1164,7 @@
</fragmentsBuilder> </fragmentsBuilder>
<!-- multi-colored tag FragmentsBuilder --> <!-- multi-colored tag FragmentsBuilder -->
<fragmentsBuilder name="colored" <fragmentsBuilder name="colored"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<lst name="defaults"> <lst name="defaults">
<str name="hl.tag.pre"><![CDATA[ <str name="hl.tag.pre"><![CDATA[
@ -1176,8 +1176,8 @@
<str name="hl.tag.post"><![CDATA[</b>]]></str> <str name="hl.tag.post"><![CDATA[</b>]]></str>
</lst> </lst>
</fragmentsBuilder> </fragmentsBuilder>
<boundaryScanner name="default" <boundaryScanner name="default"
default="true" default="true"
class="solr.highlight.SimpleBoundaryScanner"> class="solr.highlight.SimpleBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
@ -1185,8 +1185,8 @@
<str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str> <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
</lst> </lst>
</boundaryScanner> </boundaryScanner>
<boundaryScanner name="breakIterator" <boundaryScanner name="breakIterator"
class="solr.highlight.BreakIteratorBoundaryScanner"> class="solr.highlight.BreakIteratorBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
<!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE --> <!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE -->
@ -1208,15 +1208,15 @@
http://wiki.apache.org/solr/UpdateRequestProcessor http://wiki.apache.org/solr/UpdateRequestProcessor
--> -->
<!-- Deduplication <!-- Deduplication
An example dedup update processor that creates the "id" field An example dedup update processor that creates the "id" field
on the fly based on the hash code of some other fields. This on the fly based on the hash code of some other fields. This
example has overwriteDupes set to false since we are using the example has overwriteDupes set to false since we are using the
id field as the signatureField and Solr will maintain id field as the signatureField and Solr will maintain
uniqueness based on that anyway. uniqueness based on that anyway.
--> -->
<!-- <!--
<updateRequestProcessorChain name="dedupe"> <updateRequestProcessorChain name="dedupe">
@ -1231,7 +1231,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Language identification <!-- Language identification
This example update chain identifies the language of the incoming This example update chain identifies the language of the incoming
@ -1271,7 +1271,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Response Writers <!-- Response Writers
http://wiki.apache.org/solr/QueryResponseWriter http://wiki.apache.org/solr/QueryResponseWriter
@ -1287,7 +1287,7 @@
overridden... overridden...
--> -->
<!-- <!--
<queryResponseWriter name="xml" <queryResponseWriter name="xml"
default="true" default="true"
class="solr.XMLResponseWriter" /> class="solr.XMLResponseWriter" />
<queryResponseWriter name="json" class="solr.JSONResponseWriter"/> <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
@ -1306,7 +1306,7 @@
--> -->
<str name="content-type">text/plain; charset=UTF-8</str> <str name="content-type">text/plain; charset=UTF-8</str>
</queryResponseWriter> </queryResponseWriter>
<!-- <!--
Custom response writers can be declared as needed... Custom response writers can be declared as needed...
--> -->
@ -1316,7 +1316,7 @@
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.
--> -->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"> <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int> <int name="xsltCacheLifetimeSeconds">5</int>
@ -1324,7 +1324,7 @@
<!-- Query Parsers <!-- Query Parsers
https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html
Multiple QParserPlugins can be registered by name, and then Multiple QParserPlugins can be registered by name, and then
used in either the "defType" param for the QueryComponent (used used in either the "defType" param for the QueryComponent (used
@ -1344,11 +1344,11 @@
--> -->
<!-- example of registering a custom function parser --> <!-- example of registering a custom function parser -->
<!-- <!--
<valueSourceParser name="myfunc" <valueSourceParser name="myfunc"
class="com.mycompany.MyValueSourceParser" /> class="com.mycompany.MyValueSourceParser" />
--> -->
<!-- Document Transformers <!-- Document Transformers
http://wiki.apache.org/solr/DocTransformers http://wiki.apache.org/solr/DocTransformers
--> -->
@ -1357,12 +1357,12 @@
<transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
<int name="connection">jdbc://....</int> <int name="connection">jdbc://....</int>
</transformer> </transformer>
To add a constant value to all docs, use: To add a constant value to all docs, use:
<transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<int name="value">5</int> <int name="value">5</int>
</transformer> </transformer>
If you want the user to still be able to change it with _value:something_ use this: If you want the user to still be able to change it with _value:something_ use this:
<transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<double name="defaultValue">5</double> <double name="defaultValue">5</double>

View File

@ -16,9 +16,9 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
For more details about configurations options that may appear in For more details about configurations options that may appear in
this file, see http://wiki.apache.org/solr/SolrConfigXml. this file, see http://wiki.apache.org/solr/SolrConfigXml.
--> -->
<config> <config>
<!-- In all configuration below, a prefix of "solr." for class names <!-- In all configuration below, a prefix of "solr." for class names
@ -46,19 +46,19 @@
instanceDir. instanceDir.
Please note that <lib/> directives are processed in the order Please note that <lib/> directives are processed in the order
that they appear in your solrconfig.xml file, and are "stacked" that they appear in your solrconfig.xml file, and are "stacked"
on top of each other when building a ClassLoader - so if you have on top of each other when building a ClassLoader - so if you have
plugin jars with dependencies on other jars, the "lower level" plugin jars with dependencies on other jars, the "lower level"
dependency jars should be loaded first. dependency jars should be loaded first.
If a "./lib" directory exists in your instanceDir, all files If a "./lib" directory exists in your instanceDir, all files
found in it are included as if you had used the following found in it are included as if you had used the following
syntax... syntax...
<lib dir="./lib" /> <lib dir="./lib" />
--> -->
<!-- A 'dir' option by itself adds any files found in the directory <!-- A 'dir' option by itself adds any files found in the directory
to the classpath, this is useful for including all jars in a to the classpath, this is useful for including all jars in a
directory. directory.
@ -69,7 +69,7 @@
If a 'dir' option (with or without a regex) is used and nothing If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged. is found that matches, a warning will be logged.
The examples below can be used to load some solr-contribs along The examples below can be used to load some solr-contribs along
with their external dependencies. with their external dependencies.
--> -->
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
@ -83,14 +83,14 @@
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged specific jar file. This will cause a serious error to be logged
if it can't be loaded. if it can't be loaded.
--> -->
<!-- <!--
<lib path="../a-jar-that-does-not-exist.jar" /> <lib path="../a-jar-that-does-not-exist.jar" />
--> -->
<!-- Data Directory <!-- Data Directory
Used to specify an alternate directory to hold all index data Used to specify an alternate directory to hold all index data
@ -102,7 +102,7 @@
<!-- The DirectoryFactory to use for indexes. <!-- The DirectoryFactory to use for indexes.
solr.StandardDirectoryFactory is filesystem solr.StandardDirectoryFactory is filesystem
based and tries to pick the best implementation for the current based and tries to pick the best implementation for the current
JVM and platform. solr.NRTCachingDirectoryFactory, the default, JVM and platform. solr.NRTCachingDirectoryFactory, the default,
@ -114,7 +114,7 @@
solr.RAMDirectoryFactory is memory based and not persistent. solr.RAMDirectoryFactory is memory based and not persistent.
--> -->
<directoryFactory name="DirectoryFactory" <directoryFactory name="DirectoryFactory"
class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/> class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
<!-- The CodecFactory for defining the format of the inverted index. <!-- The CodecFactory for defining the format of the inverted index.
@ -132,19 +132,19 @@
Index Config - These settings control low-level behavior of indexing Index Config - These settings control low-level behavior of indexing
Most example settings here show the default value, but are commented Most example settings here show the default value, but are commented
out, to more easily see where customizations have been made. out, to more easily see where customizations have been made.
Note: This replaces <indexDefaults> and <mainIndex> from older versions Note: This replaces <indexDefaults> and <mainIndex> from older versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<indexConfig> <indexConfig>
<!-- maxFieldLength was removed in 4.0. To get similar behavior, include a <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
LimitTokenCountFilterFactory in your fieldType definition. E.g. LimitTokenCountFilterFactory in your fieldType definition. E.g.
<filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
--> -->
<!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
<!-- <writeLockTimeout>1000</writeLockTimeout> --> <!-- <writeLockTimeout>1000</writeLockTimeout> -->
<!-- Expert: Enabling compound file will use less files for the index, <!-- Expert: Enabling compound file will use less files for the index,
using fewer file descriptors on the expense of performance decrease. using fewer file descriptors on the expense of performance decrease.
Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
<!-- <useCompoundFile>false</useCompoundFile> --> <!-- <useCompoundFile>false</useCompoundFile> -->
@ -159,7 +159,7 @@
<!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
<!-- Expert: Merge Policy <!-- Expert: Merge Policy
The Merge Policy in Lucene controls how merging of segments is done. The Merge Policy in Lucene controls how merging of segments is done.
The default since Solr/Lucene 3.3 is TieredMergePolicy. The default since Solr/Lucene 3.3 is TieredMergePolicy.
The default since Lucene 2.3 was the LogByteSizeMergePolicy, The default since Lucene 2.3 was the LogByteSizeMergePolicy,
@ -178,15 +178,15 @@
can perform merges in the background using separate threads. can perform merges in the background using separate threads.
The SerialMergeScheduler (Lucene 2.2 default) does not. The SerialMergeScheduler (Lucene 2.2 default) does not.
--> -->
<!-- <!--
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
--> -->
<!-- LockFactory <!-- LockFactory
This option specifies which Lucene LockFactory implementation This option specifies which Lucene LockFactory implementation
to use. to use.
single = SingleInstanceLockFactory - suggested for a single = SingleInstanceLockFactory - suggested for a
read-only index or when there is no possibility of read-only index or when there is no possibility of
another process trying to modify the index. another process trying to modify the index.
@ -210,11 +210,11 @@
The default Solr IndexDeletionPolicy implementation supports The default Solr IndexDeletionPolicy implementation supports
deleting index commit points on number of commits, age of deleting index commit points on number of commits, age of
commit point and optimized status. commit point and optimized status.
The latest commit point should always be preserved regardless The latest commit point should always be preserved regardless
of the criteria. of the criteria.
--> -->
<!-- <!--
<deletionPolicy class="solr.SolrDeletionPolicy"> <deletionPolicy class="solr.SolrDeletionPolicy">
--> -->
<!-- The number of commit points to be kept --> <!-- The number of commit points to be kept -->
@ -229,12 +229,12 @@
<str name="maxCommitAge">30MINUTES</str> <str name="maxCommitAge">30MINUTES</str>
<str name="maxCommitAge">1DAY</str> <str name="maxCommitAge">1DAY</str>
--> -->
<!-- <!--
</deletionPolicy> </deletionPolicy>
--> -->
<!-- Lucene Infostream <!-- Lucene Infostream
To aid in advanced debugging, Lucene provides an "InfoStream" To aid in advanced debugging, Lucene provides an "InfoStream"
of detailed information when indexing. of detailed information when indexing.
@ -247,7 +247,7 @@
<!-- JMX <!-- JMX
This example enables JMX if and only if an existing MBeanServer This example enables JMX if and only if an existing MBeanServer
is found, use this if you want to configure JMX through JVM is found, use this if you want to configure JMX through JVM
parameters. Remove this to disable exposing Solr configuration parameters. Remove this to disable exposing Solr configuration
@ -257,7 +257,7 @@
--> -->
<jmx /> <jmx />
<!-- If you want to connect to a particular server, specify the <!-- If you want to connect to a particular server, specify the
agentId agentId
--> -->
<!-- <jmx agentId="myAgent" /> --> <!-- <jmx agentId="myAgent" /> -->
<!-- If you want to start a new MBeanServer, specify the serviceUrl --> <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
@ -272,16 +272,16 @@
uncommitted changes to the index, so use of a hard autoCommit uncommitted changes to the index, so use of a hard autoCommit
is recommended (see below). is recommended (see below).
"dir" - the target directory for transaction logs, defaults to the "dir" - the target directory for transaction logs, defaults to the
solr data directory. --> solr data directory. -->
<updateLog> <updateLog>
<str name="dir">${solr.ulog.dir:}</str> <str name="dir">${solr.ulog.dir:}</str>
</updateLog> </updateLog>
<!-- AutoCommit <!-- AutoCommit
Perform a hard commit automatically under certain conditions. Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin" Instead of enabling autoCommit, consider using "commitWithin"
when adding documents. when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages http://wiki.apache.org/solr/UpdateXmlMessages
@ -290,7 +290,7 @@
maxTime - Maximum amount of time in ms that is allowed to pass maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically since a document was added before automatically
triggering a new commit. triggering a new commit.
openSearcher - if false, the commit causes recent index changes openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible. searcher to be opened to make those changes visible.
@ -298,9 +298,9 @@
If the updateLog is enabled, then it's highly recommended to If the updateLog is enabled, then it's highly recommended to
have some sort of hard autoCommit to limit the log size. have some sort of hard autoCommit to limit the log size.
--> -->
<autoCommit> <autoCommit>
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime> <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
<openSearcher>false</openSearcher> <openSearcher>false</openSearcher>
</autoCommit> </autoCommit>
<!-- softAutoCommit is like autoCommit except it causes a <!-- softAutoCommit is like autoCommit except it causes a
@ -309,12 +309,12 @@
faster and more near-realtime friendly than a hard commit. faster and more near-realtime friendly than a hard commit.
--> -->
<autoSoftCommit> <autoSoftCommit>
<maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
</autoSoftCommit> </autoSoftCommit>
<!-- Update Related Event Listeners <!-- Update Related Event Listeners
Various IndexWriter related events can trigger Listeners to Various IndexWriter related events can trigger Listeners to
take actions. take actions.
@ -323,10 +323,10 @@
--> -->
<!-- The RunExecutableListener executes an external command from a <!-- The RunExecutableListener executes an external command from a
hook such as postCommit or postOptimize. hook such as postCommit or postOptimize.
exe - the name of the executable to run exe - the name of the executable to run
dir - dir to use as the current working directory. (default=".") dir - dir to use as the current working directory. (default=".")
wait - the calling thread waits until the executable returns. wait - the calling thread waits until the executable returns.
(default="true") (default="true")
args - the arguments to pass to the program. (default is none) args - the arguments to pass to the program. (default is none)
env - environment variables to set. (default is none) env - environment variables to set. (default is none)
@ -346,7 +346,7 @@
--> -->
</updateHandler> </updateHandler>
<!-- IndexReaderFactory <!-- IndexReaderFactory
Use the following format to specify a custom IndexReaderFactory, Use the following format to specify a custom IndexReaderFactory,
@ -385,12 +385,12 @@
is thrown if exceeded. is thrown if exceeded.
** WARNING ** ** WARNING **
This option actually modifies a global Lucene property that This option actually modifies a global Lucene property that
will affect all SolrCores. If multiple solrconfig.xml files will affect all SolrCores. If multiple solrconfig.xml files
disagree on this property, the value at any given moment will disagree on this property, the value at any given moment will
be based on the last SolrCore to be initialized. be based on the last SolrCore to be initialized.
--> -->
<maxBooleanClauses>1024</maxBooleanClauses> <maxBooleanClauses>1024</maxBooleanClauses>
@ -399,7 +399,7 @@
There are two implementations of cache available for Solr, There are two implementations of cache available for Solr,
LRUCache, based on a synchronized LinkedHashMap, and LRUCache, based on a synchronized LinkedHashMap, and
FastLRUCache, based on a ConcurrentHashMap. FastLRUCache, based on a ConcurrentHashMap.
FastLRUCache has faster gets and slower puts in single FastLRUCache has faster gets and slower puts in single
threaded operation and thus is generally faster than LRUCache threaded operation and thus is generally faster than LRUCache
@ -424,7 +424,7 @@
initialSize - the initial capacity (number of entries) of initialSize - the initial capacity (number of entries) of
the cache. (see java.util.HashMap) the cache. (see java.util.HashMap)
autowarmCount - the number of entries to prepopulate from autowarmCount - the number of entries to prepopulate from
and old cache. and old cache.
--> -->
<filterCache class="solr.FastLRUCache" <filterCache class="solr.FastLRUCache"
size="512" size="512"
@ -432,27 +432,27 @@
autowarmCount="0"/> autowarmCount="0"/>
<!-- Query Result Cache <!-- Query Result Cache
Caches results of searches - ordered lists of document ids Caches results of searches - ordered lists of document ids
(DocList) based on a query, a sort, and the range of documents requested. (DocList) based on a query, a sort, and the range of documents requested.
--> -->
<queryResultCache class="solr.LRUCache" <queryResultCache class="solr.LRUCache"
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- Document Cache <!-- Document Cache
Caches Lucene Document objects (the stored fields for each Caches Lucene Document objects (the stored fields for each
document). Since Lucene internal document ids are transient, document). Since Lucene internal document ids are transient,
this cache will not be autowarmed. this cache will not be autowarmed.
--> -->
<documentCache class="solr.LRUCache" <documentCache class="solr.LRUCache"
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- custom cache currently used by block join --> <!-- custom cache currently used by block join -->
<cache name="perSegFilter" <cache name="perSegFilter"
class="solr.search.LRUCache" class="solr.search.LRUCache"
size="10" size="10"
@ -461,7 +461,7 @@
regenerator="solr.NoOpRegenerator" /> regenerator="solr.NoOpRegenerator" />
<!-- Field Value Cache <!-- Field Value Cache
Cache used to hold field values that are quickly accessible Cache used to hold field values that are quickly accessible
by document id. The fieldValueCache is created by default by document id. The fieldValueCache is created by default
even if not configured here. even if not configured here.
@ -479,8 +479,8 @@
name through SolrIndexSearcher.getCache(),cacheLookup(), and name through SolrIndexSearcher.getCache(),cacheLookup(), and
cacheInsert(). The purpose is to enable easy caching of cacheInsert(). The purpose is to enable easy caching of
user/application level data. The regenerator argument should user/application level data. The regenerator argument should
be specified as an implementation of solr.CacheRegenerator be specified as an implementation of solr.CacheRegenerator
if autowarming is desired. if autowarming is desired.
--> -->
<!-- <!--
<cache name="myUserCache" <cache name="myUserCache"
@ -527,12 +527,12 @@
are collected. For example, if a search for a particular query are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50, requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. requests in that range can be satisfied via the cache.
--> -->
<queryResultWindowSize>20</queryResultWindowSize> <queryResultWindowSize>20</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the <!-- Maximum number of documents to cache for any entry in the
queryResultCache. queryResultCache.
--> -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached> <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
@ -550,10 +550,10 @@
prepared but there is no current registered searcher to handle prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. requests or to gain autowarming data from.
--> -->
<!-- QuerySenderListener takes an array of NamedList and executes a <!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. local query request for each NamedList in sequence.
--> -->
<listener event="newSearcher" class="solr.QuerySenderListener"> <listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries"> <arr name="queries">
@ -600,19 +600,19 @@
multipartUploadLimitInKB - specifies the max size (in KiB) of multipartUploadLimitInKB - specifies the max size (in KiB) of
Multipart File Uploads that Solr will allow in a Request. Multipart File Uploads that Solr will allow in a Request.
formdataUploadLimitInKB - specifies the max size (in KiB) of formdataUploadLimitInKB - specifies the max size (in KiB) of
form data (application/x-www-form-urlencoded) sent via form data (application/x-www-form-urlencoded) sent via
POST. You can use POST to pass request parameters not POST. You can use POST to pass request parameters not
fitting into the URL. fitting into the URL.
addHttpRequestToContext - if set to true, it will instruct addHttpRequestToContext - if set to true, it will instruct
the requestParsers to include the original HttpServletRequest the requestParsers to include the original HttpServletRequest
object in the context map of the SolrQueryRequest under the object in the context map of the SolrQueryRequest under the
key "httpRequest". It will not be used by any of the existing key "httpRequest". It will not be used by any of the existing
Solr components, but may be useful when developing custom Solr components, but may be useful when developing custom
plugins. plugins.
*** WARNING *** *** WARNING ***
Before enabling remote streaming, you should make sure your Before enabling remote streaming, you should make sure your
system has authentication enabled. system has authentication enabled.
@ -634,21 +634,21 @@
<!-- If you include a <cacheControl> directive, it will be used to <!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header (as well as an Expires header generate a Cache-Control header (as well as an Expires header
if the value contains "max-age=") if the value contains "max-age=")
By default, no Cache-Control header is generated. By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set You can use the <cacheControl> option even if you have set
never304="true" never304="true"
--> -->
<!-- <!--
<httpCaching never304="true" > <httpCaching never304="true" >
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
<!-- To enable Solr to respond with automatically generated HTTP <!-- To enable Solr to respond with automatically generated HTTP
Caching headers, and to response to Cache Validation requests Caching headers, and to response to Cache Validation requests
correctly, set the value of never304="false" correctly, set the value of never304="false"
This will cause Solr to generate Last-Modified and ETag This will cause Solr to generate Last-Modified and ETag
headers based on the properties of the Index. headers based on the properties of the Index.
@ -673,12 +673,12 @@
<!-- <!--
<httpCaching lastModifiedFrom="openTime" <httpCaching lastModifiedFrom="openTime"
etagSeed="Solr"> etagSeed="Solr">
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
</requestDispatcher> </requestDispatcher>
<!-- Request Handlers <!-- Request Handlers
http://wiki.apache.org/solr/SolrRequestHandler http://wiki.apache.org/solr/SolrRequestHandler
@ -816,10 +816,10 @@
<!-- Solr Cell Update Request Handler <!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandler
--> -->
<requestHandler name="/update/extract" <requestHandler name="/update/extract"
startup="lazy" startup="lazy"
class="solr.extraction.ExtractingRequestHandler" > class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults"> <lst name="defaults">
@ -834,18 +834,18 @@
</requestHandler> </requestHandler>
<!-- Search Components <!-- Search Components
Search components are registered to SolrCore and used by Search components are registered to SolrCore and used by
instances of SearchHandler (which can access them by name) instances of SearchHandler (which can access them by name)
By default, the following components are available: By default, the following components are available:
<searchComponent name="query" class="solr.QueryComponent" /> <searchComponent name="query" class="solr.QueryComponent" />
<searchComponent name="facet" class="solr.FacetComponent" /> <searchComponent name="facet" class="solr.FacetComponent" />
<searchComponent name="mlt" class="solr.MoreLikeThisComponent" /> <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
<searchComponent name="highlight" class="solr.HighlightComponent" /> <searchComponent name="highlight" class="solr.HighlightComponent" />
<searchComponent name="stats" class="solr.StatsComponent" /> <searchComponent name="stats" class="solr.StatsComponent" />
<searchComponent name="debug" class="solr.DebugComponent" /> <searchComponent name="debug" class="solr.DebugComponent" />
Default configuration in a requestHandler would look like: Default configuration in a requestHandler would look like:
<arr name="components"> <arr name="components">
@ -857,28 +857,28 @@
<str>debug</str> <str>debug</str>
</arr> </arr>
If you register a searchComponent to one of the standard names, If you register a searchComponent to one of the standard names,
that will be used instead of the default. that will be used instead of the default.
To insert components before or after the 'standard' components, use: To insert components before or after the 'standard' components, use:
<arr name="first-components"> <arr name="first-components">
<str>myFirstComponentName</str> <str>myFirstComponentName</str>
</arr> </arr>
<arr name="last-components"> <arr name="last-components">
<str>myLastComponentName</str> <str>myLastComponentName</str>
</arr> </arr>
NOTE: The component registered with the name "debug" will NOTE: The component registered with the name "debug" will
always be executed after the "last-components" always be executed after the "last-components"
--> -->
<!-- Spell Check <!-- Spell Check
The spell check component can return a list of alternative spelling The spell check component can return a list of alternative spelling
suggestions. suggestions.
http://wiki.apache.org/solr/SpellCheckComponent http://wiki.apache.org/solr/SpellCheckComponent
--> -->
@ -913,11 +913,11 @@
<float name="thresholdTokenFrequency">.01</float> <float name="thresholdTokenFrequency">.01</float>
--> -->
</lst> </lst>
<!-- a spellchecker that can break or combine words. See "/spell" handler below for usage --> <!-- a spellchecker that can break or combine words. See "/spell" handler below for usage -->
<lst name="spellchecker"> <lst name="spellchecker">
<str name="name">wordbreak</str> <str name="name">wordbreak</str>
<str name="classname">solr.WordBreakSolrSpellChecker</str> <str name="classname">solr.WordBreakSolrSpellChecker</str>
<str name="field">name</str> <str name="field">name</str>
<str name="combineWords">true</str> <str name="combineWords">true</str>
<str name="breakWords">true</str> <str name="breakWords">true</str>
@ -936,7 +936,7 @@
</lst> </lst>
--> -->
<!-- a spellchecker that use an alternate comparator <!-- a spellchecker that use an alternate comparator
comparatorClass be one of: comparatorClass be one of:
1. score (default) 1. score (default)
@ -962,8 +962,8 @@
</lst> </lst>
--> -->
</searchComponent> </searchComponent>
<!-- A request handler for demonstrating the spellcheck component. <!-- A request handler for demonstrating the spellcheck component.
NOTE: This is purely as an example. The whole purpose of the NOTE: This is purely as an example. The whole purpose of the
SpellCheckComponent is to hook it into the request handler that SpellCheckComponent is to hook it into the request handler that
@ -972,7 +972,7 @@
IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM! NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
See http://wiki.apache.org/solr/SpellCheckComponent for details See http://wiki.apache.org/solr/SpellCheckComponent for details
on the request parameters. on the request parameters.
--> -->
@ -986,14 +986,14 @@
<str name="spellcheck.dictionary">default</str> <str name="spellcheck.dictionary">default</str>
<str name="spellcheck.dictionary">wordbreak</str> <str name="spellcheck.dictionary">wordbreak</str>
<str name="spellcheck">on</str> <str name="spellcheck">on</str>
<str name="spellcheck.extendedResults">true</str> <str name="spellcheck.extendedResults">true</str>
<str name="spellcheck.count">10</str> <str name="spellcheck.count">10</str>
<str name="spellcheck.alternativeTermCount">5</str> <str name="spellcheck.alternativeTermCount">5</str>
<str name="spellcheck.maxResultsForSuggest">5</str> <str name="spellcheck.maxResultsForSuggest">5</str>
<str name="spellcheck.collate">true</str> <str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str> <str name="spellcheck.collateExtendedResults">true</str>
<str name="spellcheck.maxCollationTries">10</str> <str name="spellcheck.maxCollationTries">10</str>
<str name="spellcheck.maxCollations">5</str> <str name="spellcheck.maxCollations">5</str>
</lst> </lst>
<arr name="last-components"> <arr name="last-components">
<str>spellcheck</str> <str>spellcheck</str>
@ -1004,7 +1004,7 @@
<lst name="suggester"> <lst name="suggester">
<str name="name">mySuggester</str> <str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst --> <str name="lookupImpl">FuzzyLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst -->
<str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory --> <str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory -->
<str name="field">cat</str> <str name="field">cat</str>
<str name="weightField">price</str> <str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">string</str> <str name="suggestAnalyzerFieldType">string</str>
@ -1030,8 +1030,8 @@
This is purely as an example. This is purely as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults"> <lst name="defaults">
@ -1057,7 +1057,7 @@
<lst name="defaults"> <lst name="defaults">
<bool name="terms">true</bool> <bool name="terms">true</bool>
<bool name="distrib">false</bool> <bool name="distrib">false</bool>
</lst> </lst>
<arr name="components"> <arr name="components">
<str>terms</str> <str>terms</str>
</arr> </arr>
@ -1097,7 +1097,7 @@
<highlighting> <highlighting>
<!-- Configure the standard fragmenter --> <!-- Configure the standard fragmenter -->
<!-- This could most likely be commented out in the "default" case --> <!-- This could most likely be commented out in the "default" case -->
<fragmenter name="gap" <fragmenter name="gap"
default="true" default="true"
class="solr.highlight.GapFragmenter"> class="solr.highlight.GapFragmenter">
<lst name="defaults"> <lst name="defaults">
@ -1105,10 +1105,10 @@
</lst> </lst>
</fragmenter> </fragmenter>
<!-- A regular-expression-based fragmenter <!-- A regular-expression-based fragmenter
(for sentence extraction) (for sentence extraction)
--> -->
<fragmenter name="regex" <fragmenter name="regex"
class="solr.highlight.RegexFragmenter"> class="solr.highlight.RegexFragmenter">
<lst name="defaults"> <lst name="defaults">
<!-- slightly smaller fragsizes work better because of slop --> <!-- slightly smaller fragsizes work better because of slop -->
@ -1121,7 +1121,7 @@
</fragmenter> </fragmenter>
<!-- Configure the standard formatter --> <!-- Configure the standard formatter -->
<formatter name="html" <formatter name="html"
default="true" default="true"
class="solr.highlight.HtmlFormatter"> class="solr.highlight.HtmlFormatter">
<lst name="defaults"> <lst name="defaults">
@ -1131,27 +1131,27 @@
</formatter> </formatter>
<!-- Configure the standard encoder --> <!-- Configure the standard encoder -->
<encoder name="html" <encoder name="html"
class="solr.highlight.HtmlEncoder" /> class="solr.highlight.HtmlEncoder" />
<!-- Configure the standard fragListBuilder --> <!-- Configure the standard fragListBuilder -->
<fragListBuilder name="simple" <fragListBuilder name="simple"
class="solr.highlight.SimpleFragListBuilder"/> class="solr.highlight.SimpleFragListBuilder"/>
<!-- Configure the single fragListBuilder --> <!-- Configure the single fragListBuilder -->
<fragListBuilder name="single" <fragListBuilder name="single"
class="solr.highlight.SingleFragListBuilder"/> class="solr.highlight.SingleFragListBuilder"/>
<!-- Configure the weighted fragListBuilder --> <!-- Configure the weighted fragListBuilder -->
<fragListBuilder name="weighted" <fragListBuilder name="weighted"
default="true" default="true"
class="solr.highlight.WeightedFragListBuilder"/> class="solr.highlight.WeightedFragListBuilder"/>
<!-- default tag FragmentsBuilder --> <!-- default tag FragmentsBuilder -->
<fragmentsBuilder name="default" <fragmentsBuilder name="default"
default="true" default="true"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<!-- <!--
<lst name="defaults"> <lst name="defaults">
<str name="hl.multiValuedSeparatorChar">/</str> <str name="hl.multiValuedSeparatorChar">/</str>
</lst> </lst>
@ -1159,7 +1159,7 @@
</fragmentsBuilder> </fragmentsBuilder>
<!-- multi-colored tag FragmentsBuilder --> <!-- multi-colored tag FragmentsBuilder -->
<fragmentsBuilder name="colored" <fragmentsBuilder name="colored"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<lst name="defaults"> <lst name="defaults">
<str name="hl.tag.pre"><![CDATA[ <str name="hl.tag.pre"><![CDATA[
@ -1171,8 +1171,8 @@
<str name="hl.tag.post"><![CDATA[</b>]]></str> <str name="hl.tag.post"><![CDATA[</b>]]></str>
</lst> </lst>
</fragmentsBuilder> </fragmentsBuilder>
<boundaryScanner name="default" <boundaryScanner name="default"
default="true" default="true"
class="solr.highlight.SimpleBoundaryScanner"> class="solr.highlight.SimpleBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
@ -1180,8 +1180,8 @@
<str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str> <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
</lst> </lst>
</boundaryScanner> </boundaryScanner>
<boundaryScanner name="breakIterator" <boundaryScanner name="breakIterator"
class="solr.highlight.BreakIteratorBoundaryScanner"> class="solr.highlight.BreakIteratorBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
<!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE --> <!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE -->
@ -1203,15 +1203,15 @@
http://wiki.apache.org/solr/UpdateRequestProcessor http://wiki.apache.org/solr/UpdateRequestProcessor
--> -->
<!-- Deduplication <!-- Deduplication
An example dedup update processor that creates the "id" field An example dedup update processor that creates the "id" field
on the fly based on the hash code of some other fields. This on the fly based on the hash code of some other fields. This
example has overwriteDupes set to false since we are using the example has overwriteDupes set to false since we are using the
id field as the signatureField and Solr will maintain id field as the signatureField and Solr will maintain
uniqueness based on that anyway. uniqueness based on that anyway.
--> -->
<!-- <!--
<updateRequestProcessorChain name="dedupe"> <updateRequestProcessorChain name="dedupe">
@ -1226,7 +1226,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Language identification <!-- Language identification
This example update chain identifies the language of the incoming This example update chain identifies the language of the incoming
@ -1266,7 +1266,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Response Writers <!-- Response Writers
http://wiki.apache.org/solr/QueryResponseWriter http://wiki.apache.org/solr/QueryResponseWriter
@ -1282,7 +1282,7 @@
overridden... overridden...
--> -->
<!-- <!--
<queryResponseWriter name="xml" <queryResponseWriter name="xml"
default="true" default="true"
class="solr.XMLResponseWriter" /> class="solr.XMLResponseWriter" />
<queryResponseWriter name="json" class="solr.JSONResponseWriter"/> <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
@ -1301,7 +1301,7 @@
--> -->
<str name="content-type">text/plain; charset=UTF-8</str> <str name="content-type">text/plain; charset=UTF-8</str>
</queryResponseWriter> </queryResponseWriter>
<!-- <!--
Custom response writers can be declared as needed... Custom response writers can be declared as needed...
--> -->
@ -1311,7 +1311,7 @@
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.
--> -->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"> <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int> <int name="xsltCacheLifetimeSeconds">5</int>
@ -1319,7 +1319,7 @@
<!-- Query Parsers <!-- Query Parsers
https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html
Multiple QParserPlugins can be registered by name, and then Multiple QParserPlugins can be registered by name, and then
used in either the "defType" param for the QueryComponent (used used in either the "defType" param for the QueryComponent (used
@ -1339,11 +1339,11 @@
--> -->
<!-- example of registering a custom function parser --> <!-- example of registering a custom function parser -->
<!-- <!--
<valueSourceParser name="myfunc" <valueSourceParser name="myfunc"
class="com.mycompany.MyValueSourceParser" /> class="com.mycompany.MyValueSourceParser" />
--> -->
<!-- Document Transformers <!-- Document Transformers
http://wiki.apache.org/solr/DocTransformers http://wiki.apache.org/solr/DocTransformers
--> -->
@ -1352,12 +1352,12 @@
<transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
<int name="connection">jdbc://....</int> <int name="connection">jdbc://....</int>
</transformer> </transformer>
To add a constant value to all docs, use: To add a constant value to all docs, use:
<transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<int name="value">5</int> <int name="value">5</int>
</transformer> </transformer>
If you want the user to still be able to change it with _value:something_ use this: If you want the user to still be able to change it with _value:something_ use this:
<transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<double name="defaultValue">5</double> <double name="defaultValue">5</double>

View File

@ -16,7 +16,7 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
This is a DEMO configuration highlighting elements This is a DEMO configuration highlighting elements
specifically needed to get this example running specifically needed to get this example running
such as libraries and request handler specifics. such as libraries and request handler specifics.
@ -26,7 +26,7 @@
See Solr Reference Guide and other examples for See Solr Reference Guide and other examples for
more details on a well configured solrconfig.xml more details on a well configured solrconfig.xml
https://cwiki.apache.org/confluence/display/solr/The+Well-Configured+Solr+Instance https://lucene.apache.org/solr/guide/the-well-configured-solr-instance.html
--> -->
<config> <config>

View File

@ -16,9 +16,9 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
For more details about configurations options that may appear in For more details about configurations options that may appear in
this file, see http://wiki.apache.org/solr/SolrConfigXml. this file, see http://wiki.apache.org/solr/SolrConfigXml.
--> -->
<config> <config>
<!-- In all configuration below, a prefix of "solr." for class names <!-- In all configuration below, a prefix of "solr." for class names
@ -46,19 +46,19 @@
instanceDir. instanceDir.
Please note that <lib/> directives are processed in the order Please note that <lib/> directives are processed in the order
that they appear in your solrconfig.xml file, and are "stacked" that they appear in your solrconfig.xml file, and are "stacked"
on top of each other when building a ClassLoader - so if you have on top of each other when building a ClassLoader - so if you have
plugin jars with dependencies on other jars, the "lower level" plugin jars with dependencies on other jars, the "lower level"
dependency jars should be loaded first. dependency jars should be loaded first.
If a "./lib" directory exists in your instanceDir, all files If a "./lib" directory exists in your instanceDir, all files
found in it are included as if you had used the following found in it are included as if you had used the following
syntax... syntax...
<lib dir="./lib" /> <lib dir="./lib" />
--> -->
<!-- A 'dir' option by itself adds any files found in the directory <!-- A 'dir' option by itself adds any files found in the directory
to the classpath, this is useful for including all jars in a to the classpath, this is useful for including all jars in a
directory. directory.
@ -69,7 +69,7 @@
If a 'dir' option (with or without a regex) is used and nothing If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged. is found that matches, a warning will be logged.
The examples below can be used to load some solr-contribs along The examples below can be used to load some solr-contribs along
with their external dependencies. with their external dependencies.
--> -->
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
@ -85,12 +85,12 @@
<!-- browse-resources must come before solr-velocity JAR in order to override localized resources --> <!-- browse-resources must come before solr-velocity JAR in order to override localized resources -->
<lib path="${solr.install.dir:../../../..}/example/files/browse-resources"/> <lib path="${solr.install.dir:../../../..}/example/files/browse-resources"/>
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged specific jar file. This will cause a serious error to be logged
if it can't be loaded. if it can't be loaded.
--> -->
<!-- <!--
<lib path="../a-jar-that-does-not-exist.jar" /> <lib path="../a-jar-that-does-not-exist.jar" />
--> -->
<!-- Data Directory <!-- Data Directory
@ -104,7 +104,7 @@
<!-- The DirectoryFactory to use for indexes. <!-- The DirectoryFactory to use for indexes.
solr.StandardDirectoryFactory is filesystem solr.StandardDirectoryFactory is filesystem
based and tries to pick the best implementation for the current based and tries to pick the best implementation for the current
JVM and platform. solr.NRTCachingDirectoryFactory, the default, JVM and platform. solr.NRTCachingDirectoryFactory, the default,
@ -134,19 +134,19 @@
Index Config - These settings control low-level behavior of indexing Index Config - These settings control low-level behavior of indexing
Most example settings here show the default value, but are commented Most example settings here show the default value, but are commented
out, to more easily see where customizations have been made. out, to more easily see where customizations have been made.
Note: This replaces <indexDefaults> and <mainIndex> from older versions Note: This replaces <indexDefaults> and <mainIndex> from older versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<indexConfig> <indexConfig>
<!-- maxFieldLength was removed in 4.0. To get similar behavior, include a <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
LimitTokenCountFilterFactory in your fieldType definition. E.g. LimitTokenCountFilterFactory in your fieldType definition. E.g.
<filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
--> -->
<!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
<!-- <writeLockTimeout>1000</writeLockTimeout> --> <!-- <writeLockTimeout>1000</writeLockTimeout> -->
<!-- Expert: Enabling compound file will use less files for the index, <!-- Expert: Enabling compound file will use less files for the index,
using fewer file descriptors on the expense of performance decrease. using fewer file descriptors on the expense of performance decrease.
Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
<!-- <useCompoundFile>false</useCompoundFile> --> <!-- <useCompoundFile>false</useCompoundFile> -->
@ -160,7 +160,7 @@
<!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
<!-- Expert: Merge Policy <!-- Expert: Merge Policy
The Merge Policy in Lucene controls how merging of segments is done. The Merge Policy in Lucene controls how merging of segments is done.
The default since Solr/Lucene 3.3 is TieredMergePolicy. The default since Solr/Lucene 3.3 is TieredMergePolicy.
The default since Lucene 2.3 was the LogByteSizeMergePolicy, The default since Lucene 2.3 was the LogByteSizeMergePolicy,
@ -179,15 +179,15 @@
can perform merges in the background using separate threads. can perform merges in the background using separate threads.
The SerialMergeScheduler (Lucene 2.2 default) does not. The SerialMergeScheduler (Lucene 2.2 default) does not.
--> -->
<!-- <!--
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
--> -->
<!-- LockFactory <!-- LockFactory
This option specifies which Lucene LockFactory implementation This option specifies which Lucene LockFactory implementation
to use. to use.
single = SingleInstanceLockFactory - suggested for a single = SingleInstanceLockFactory - suggested for a
read-only index or when there is no possibility of read-only index or when there is no possibility of
another process trying to modify the index. another process trying to modify the index.
@ -211,11 +211,11 @@
The default Solr IndexDeletionPolicy implementation supports The default Solr IndexDeletionPolicy implementation supports
deleting index commit points on number of commits, age of deleting index commit points on number of commits, age of
commit point and optimized status. commit point and optimized status.
The latest commit point should always be preserved regardless The latest commit point should always be preserved regardless
of the criteria. of the criteria.
--> -->
<!-- <!--
<deletionPolicy class="solr.SolrDeletionPolicy"> <deletionPolicy class="solr.SolrDeletionPolicy">
--> -->
<!-- The number of commit points to be kept --> <!-- The number of commit points to be kept -->
@ -230,12 +230,12 @@
<str name="maxCommitAge">30MINUTES</str> <str name="maxCommitAge">30MINUTES</str>
<str name="maxCommitAge">1DAY</str> <str name="maxCommitAge">1DAY</str>
--> -->
<!-- <!--
</deletionPolicy> </deletionPolicy>
--> -->
<!-- Lucene Infostream <!-- Lucene Infostream
To aid in advanced debugging, Lucene provides an "InfoStream" To aid in advanced debugging, Lucene provides an "InfoStream"
of detailed information when indexing. of detailed information when indexing.
@ -247,7 +247,7 @@
<!-- JMX <!-- JMX
This example enables JMX if and only if an existing MBeanServer This example enables JMX if and only if an existing MBeanServer
is found, use this if you want to configure JMX through JVM is found, use this if you want to configure JMX through JVM
parameters. Remove this to disable exposing Solr configuration parameters. Remove this to disable exposing Solr configuration
@ -257,7 +257,7 @@
--> -->
<jmx /> <jmx />
<!-- If you want to connect to a particular server, specify the <!-- If you want to connect to a particular server, specify the
agentId agentId
--> -->
<!-- <jmx agentId="myAgent" /> --> <!-- <jmx agentId="myAgent" /> -->
<!-- If you want to start a new MBeanServer, specify the serviceUrl --> <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
@ -281,7 +281,7 @@
Perform a hard commit automatically under certain conditions. Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin" Instead of enabling autoCommit, consider using "commitWithin"
when adding documents. when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages http://wiki.apache.org/solr/UpdateXmlMessages
@ -290,7 +290,7 @@
maxTime - Maximum amount of time in ms that is allowed to pass maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically since a document was added before automatically
triggering a new commit. triggering a new commit.
openSearcher - if false, the commit causes recent index changes openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible. searcher to be opened to make those changes visible.
@ -309,13 +309,13 @@
faster and more near-realtime friendly than a hard commit. faster and more near-realtime friendly than a hard commit.
--> -->
<!-- <!--
<autoSoftCommit> <autoSoftCommit>
<maxTime>1000</maxTime> <maxTime>1000</maxTime>
</autoSoftCommit> </autoSoftCommit>
--> -->
<!-- Update Related Event Listeners <!-- Update Related Event Listeners
Various IndexWriter related events can trigger Listeners to Various IndexWriter related events can trigger Listeners to
take actions. take actions.
@ -324,10 +324,10 @@
--> -->
<!-- The RunExecutableListener executes an external command from a <!-- The RunExecutableListener executes an external command from a
hook such as postCommit or postOptimize. hook such as postCommit or postOptimize.
exe - the name of the executable to run exe - the name of the executable to run
dir - dir to use as the current working directory. (default=".") dir - dir to use as the current working directory. (default=".")
wait - the calling thread waits until the executable returns. wait - the calling thread waits until the executable returns.
(default="true") (default="true")
args - the arguments to pass to the program. (default is none) args - the arguments to pass to the program. (default is none)
env - environment variables to set. (default is none) env - environment variables to set. (default is none)
@ -386,12 +386,12 @@
is thrown if exceeded. is thrown if exceeded.
** WARNING ** ** WARNING **
This option actually modifies a global Lucene property that This option actually modifies a global Lucene property that
will affect all SolrCores. If multiple solrconfig.xml files will affect all SolrCores. If multiple solrconfig.xml files
disagree on this property, the value at any given moment will disagree on this property, the value at any given moment will
be based on the last SolrCore to be initialized. be based on the last SolrCore to be initialized.
--> -->
<maxBooleanClauses>1024</maxBooleanClauses> <maxBooleanClauses>1024</maxBooleanClauses>
@ -400,7 +400,7 @@
There are two implementations of cache available for Solr, There are two implementations of cache available for Solr,
LRUCache, based on a synchronized LinkedHashMap, and LRUCache, based on a synchronized LinkedHashMap, and
FastLRUCache, based on a ConcurrentHashMap. FastLRUCache, based on a ConcurrentHashMap.
FastLRUCache has faster gets and slower puts in single FastLRUCache has faster gets and slower puts in single
threaded operation and thus is generally faster than LRUCache threaded operation and thus is generally faster than LRUCache
@ -433,7 +433,7 @@
autowarmCount="0"/> autowarmCount="0"/>
<!-- Query Result Cache <!-- Query Result Cache
Caches results of searches - ordered lists of document ids Caches results of searches - ordered lists of document ids
(DocList) based on a query, a sort, and the range of documents requested. (DocList) based on a query, a sort, and the range of documents requested.
Additional supported parameter by LRUCache: Additional supported parameter by LRUCache:
@ -457,7 +457,7 @@
autowarmCount="0"/> autowarmCount="0"/>
<!-- Field Value Cache <!-- Field Value Cache
Cache used to hold field values that are quickly accessible Cache used to hold field values that are quickly accessible
by document id. The fieldValueCache is created by default by document id. The fieldValueCache is created by default
even if not configured here. even if not configured here.
@ -475,8 +475,8 @@
name through SolrIndexSearcher.getCache(),cacheLookup(), and name through SolrIndexSearcher.getCache(),cacheLookup(), and
cacheInsert(). The purpose is to enable easy caching of cacheInsert(). The purpose is to enable easy caching of
user/application level data. The regenerator argument should user/application level data. The regenerator argument should
be specified as an implementation of solr.CacheRegenerator be specified as an implementation of solr.CacheRegenerator
if autowarming is desired. if autowarming is desired.
--> -->
<!-- <!--
<cache name="myUserCache" <cache name="myUserCache"
@ -500,14 +500,14 @@
<enableLazyFieldLoading>true</enableLazyFieldLoading> <enableLazyFieldLoading>true</enableLazyFieldLoading>
<!-- Use Filter For Sorted Query <!-- Use Filter For Sorted Query
A possible optimization that attempts to use a filter to A possible optimization that attempts to use a filter to
satisfy a search. If the requested sort does not include satisfy a search. If the requested sort does not include
score, then the filterCache will be checked for a filter score, then the filterCache will be checked for a filter
matching the query. If found, the filter will be used as the matching the query. If found, the filter will be used as the
source of document ids, and then the sort will be applied to source of document ids, and then the sort will be applied to
that. that.
For most situations, this will not be useful unless you For most situations, this will not be useful unless you
frequently get the same search repeatedly with different sort frequently get the same search repeatedly with different sort
options, and none of them ever use "score" options, and none of them ever use "score"
@ -517,39 +517,39 @@
--> -->
<!-- Result Window Size <!-- Result Window Size
An optimization for use with the queryResultCache. When a search An optimization for use with the queryResultCache. When a search
is requested, a superset of the requested number of document ids is requested, a superset of the requested number of document ids
are collected. For example, if a search for a particular query are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50, requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. requests in that range can be satisfied via the cache.
--> -->
<queryResultWindowSize>20</queryResultWindowSize> <queryResultWindowSize>20</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the <!-- Maximum number of documents to cache for any entry in the
queryResultCache. queryResultCache.
--> -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached> <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
<!-- Query Related Event Listeners <!-- Query Related Event Listeners
Various IndexSearcher related events can trigger Listeners to Various IndexSearcher related events can trigger Listeners to
take actions. take actions.
newSearcher - fired whenever a new searcher is being prepared newSearcher - fired whenever a new searcher is being prepared
and there is a current searcher handling requests (aka and there is a current searcher handling requests (aka
registered). It can be used to prime certain caches to registered). It can be used to prime certain caches to
prevent long request times for certain requests. prevent long request times for certain requests.
firstSearcher - fired whenever a new searcher is being firstSearcher - fired whenever a new searcher is being
prepared but there is no current registered searcher to handle prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. requests or to gain autowarming data from.
--> -->
<!-- QuerySenderListener takes an array of NamedList and executes a <!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. local query request for each NamedList in sequence.
--> -->
<listener event="newSearcher" class="solr.QuerySenderListener"> <listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries"> <arr name="queries">
@ -598,19 +598,19 @@
multipartUploadLimitInKB - specifies the max size (in KiB) of multipartUploadLimitInKB - specifies the max size (in KiB) of
Multipart File Uploads that Solr will allow in a Request. Multipart File Uploads that Solr will allow in a Request.
formdataUploadLimitInKB - specifies the max size (in KiB) of formdataUploadLimitInKB - specifies the max size (in KiB) of
form data (application/x-www-form-urlencoded) sent via form data (application/x-www-form-urlencoded) sent via
POST. You can use POST to pass request parameters not POST. You can use POST to pass request parameters not
fitting into the URL. fitting into the URL.
addHttpRequestToContext - if set to true, it will instruct addHttpRequestToContext - if set to true, it will instruct
the requestParsers to include the original HttpServletRequest the requestParsers to include the original HttpServletRequest
object in the context map of the SolrQueryRequest under the object in the context map of the SolrQueryRequest under the
key "httpRequest". It will not be used by any of the existing key "httpRequest". It will not be used by any of the existing
Solr components, but may be useful when developing custom Solr components, but may be useful when developing custom
plugins. plugins.
*** WARNING *** *** WARNING ***
Before enabling remote streaming, you should make sure your Before enabling remote streaming, you should make sure your
system has authentication enabled. system has authentication enabled.
@ -632,21 +632,21 @@
<!-- If you include a <cacheControl> directive, it will be used to <!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header (as well as an Expires header generate a Cache-Control header (as well as an Expires header
if the value contains "max-age=") if the value contains "max-age=")
By default, no Cache-Control header is generated. By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set You can use the <cacheControl> option even if you have set
never304="true" never304="true"
--> -->
<!-- <!--
<httpCaching never304="true" > <httpCaching never304="true" >
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
<!-- To enable Solr to respond with automatically generated HTTP <!-- To enable Solr to respond with automatically generated HTTP
Caching headers, and to response to Cache Validation requests Caching headers, and to response to Cache Validation requests
correctly, set the value of never304="false" correctly, set the value of never304="false"
This will cause Solr to generate Last-Modified and ETag This will cause Solr to generate Last-Modified and ETag
headers based on the properties of the Index. headers based on the properties of the Index.
@ -671,12 +671,12 @@
<!-- <!--
<httpCaching lastModifiedFrom="openTime" <httpCaching lastModifiedFrom="openTime"
etagSeed="Solr"> etagSeed="Solr">
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
</requestDispatcher> </requestDispatcher>
<!-- Request Handlers <!-- Request Handlers
http://wiki.apache.org/solr/SolrRequestHandler http://wiki.apache.org/solr/SolrRequestHandler
@ -787,7 +787,7 @@
<!-- Solr Cell Update Request Handler <!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandler
--> -->
<requestHandler name="/update/extract" <requestHandler name="/update/extract"
@ -803,18 +803,18 @@
</requestHandler> </requestHandler>
<!-- Search Components <!-- Search Components
Search components are registered to SolrCore and used by Search components are registered to SolrCore and used by
instances of SearchHandler (which can access them by name) instances of SearchHandler (which can access them by name)
By default, the following components are available: By default, the following components are available:
<searchComponent name="query" class="solr.QueryComponent" /> <searchComponent name="query" class="solr.QueryComponent" />
<searchComponent name="facet" class="solr.FacetComponent" /> <searchComponent name="facet" class="solr.FacetComponent" />
<searchComponent name="mlt" class="solr.MoreLikeThisComponent" /> <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
<searchComponent name="highlight" class="solr.HighlightComponent" /> <searchComponent name="highlight" class="solr.HighlightComponent" />
<searchComponent name="stats" class="solr.StatsComponent" /> <searchComponent name="stats" class="solr.StatsComponent" />
<searchComponent name="debug" class="solr.DebugComponent" /> <searchComponent name="debug" class="solr.DebugComponent" />
Default configuration in a requestHandler would look like: Default configuration in a requestHandler would look like:
<arr name="components"> <arr name="components">
@ -826,28 +826,28 @@
<str>debug</str> <str>debug</str>
</arr> </arr>
If you register a searchComponent to one of the standard names, If you register a searchComponent to one of the standard names,
that will be used instead of the default. that will be used instead of the default.
To insert components before or after the 'standard' components, use: To insert components before or after the 'standard' components, use:
<arr name="first-components"> <arr name="first-components">
<str>myFirstComponentName</str> <str>myFirstComponentName</str>
</arr> </arr>
<arr name="last-components"> <arr name="last-components">
<str>myLastComponentName</str> <str>myLastComponentName</str>
</arr> </arr>
NOTE: The component registered with the name "debug" will NOTE: The component registered with the name "debug" will
always be executed after the "last-components" always be executed after the "last-components"
--> -->
<!-- Spell Check <!-- Spell Check
The spell check component can return a list of alternative spelling The spell check component can return a list of alternative spelling
suggestions. suggestions.
http://wiki.apache.org/solr/SpellCheckComponent http://wiki.apache.org/solr/SpellCheckComponent
--> -->
@ -905,7 +905,7 @@
</lst> </lst>
--> -->
<!-- a spellchecker that use an alternate comparator <!-- a spellchecker that use an alternate comparator
comparatorClass be one of: comparatorClass be one of:
1. score (default) 1. score (default)
@ -932,7 +932,7 @@
--> -->
</searchComponent> </searchComponent>
<!-- A request handler for demonstrating the spellcheck component. <!-- A request handler for demonstrating the spellcheck component.
NOTE: This is purely as an example. The whole purpose of the NOTE: This is purely as an example. The whole purpose of the
SpellCheckComponent is to hook it into the request handler that SpellCheckComponent is to hook it into the request handler that
@ -941,7 +941,7 @@
IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM! NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
See http://wiki.apache.org/solr/SpellCheckComponent for details See http://wiki.apache.org/solr/SpellCheckComponent for details
on the request parameters. on the request parameters.
--> -->
@ -978,8 +978,8 @@
This is purely as an example. This is purely as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults"> <lst name="defaults">
@ -1053,8 +1053,8 @@
</lst> </lst>
</fragmenter> </fragmenter>
<!-- A regular-expression-based fragmenter <!-- A regular-expression-based fragmenter
(for sentence extraction) (for sentence extraction)
--> -->
<fragmenter name="regex" <fragmenter name="regex"
class="solr.highlight.RegexFragmenter"> class="solr.highlight.RegexFragmenter">
@ -1099,7 +1099,7 @@
<fragmentsBuilder name="default" <fragmentsBuilder name="default"
default="true" default="true"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<!-- <!--
<lst name="defaults"> <lst name="defaults">
<str name="hl.multiValuedSeparatorChar">/</str> <str name="hl.multiValuedSeparatorChar">/</str>
</lst> </lst>
@ -1152,18 +1152,18 @@
http://wiki.apache.org/solr/UpdateRequestProcessor http://wiki.apache.org/solr/UpdateRequestProcessor
--> -->
<!-- Add unknown fields to the schema <!-- Add unknown fields to the schema
An example field type guessing update processor that will An example field type guessing update processor that will
attempt to parse string-typed field values as Booleans, Longs, attempt to parse string-typed field values as Booleans, Longs,
Doubles, or Dates, and then add schema fields with the guessed Doubles, or Dates, and then add schema fields with the guessed
field types. field types.
This requires that the schema is both managed and mutable, by This requires that the schema is both managed and mutable, by
declaring schemaFactory as ManagedIndexSchemaFactory, with declaring schemaFactory as ManagedIndexSchemaFactory, with
mutable specified as true. mutable specified as true.
See http://wiki.apache.org/solr/GuessingFieldTypes See http://wiki.apache.org/solr/GuessingFieldTypes
--> -->
<updateRequestProcessorChain name="files-update-processor"> <updateRequestProcessorChain name="files-update-processor">
@ -1245,8 +1245,8 @@
on the fly based on the hash code of some other fields. This on the fly based on the hash code of some other fields. This
example has overwriteDupes set to false since we are using the example has overwriteDupes set to false since we are using the
id field as the signatureField and Solr will maintain id field as the signatureField and Solr will maintain
uniqueness based on that anyway. uniqueness based on that anyway.
--> -->
<!-- <!--
<updateRequestProcessorChain name="dedupe"> <updateRequestProcessorChain name="dedupe">
@ -1317,7 +1317,7 @@
overridden... overridden...
--> -->
<!-- <!--
<queryResponseWriter name="xml" <queryResponseWriter name="xml"
default="true" default="true"
class="solr.XMLResponseWriter" /> class="solr.XMLResponseWriter" />
<queryResponseWriter name="json" class="solr.JSONResponseWriter"/> <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
@ -1346,7 +1346,7 @@
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.
--> -->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"> <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int> <int name="xsltCacheLifetimeSeconds">5</int>
@ -1354,7 +1354,7 @@
<!-- Query Parsers <!-- Query Parsers
https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html
Multiple QParserPlugins can be registered by name, and then Multiple QParserPlugins can be registered by name, and then
used in either the "defType" param for the QueryComponent (used used in either the "defType" param for the QueryComponent (used
@ -1374,7 +1374,7 @@
--> -->
<!-- example of registering a custom function parser --> <!-- example of registering a custom function parser -->
<!-- <!--
<valueSourceParser name="myfunc" <valueSourceParser name="myfunc"
class="com.mycompany.MyValueSourceParser" /> class="com.mycompany.MyValueSourceParser" />
--> -->
@ -1387,12 +1387,12 @@
<transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
<int name="connection">jdbc://....</int> <int name="connection">jdbc://....</int>
</transformer> </transformer>
To add a constant value to all docs, use: To add a constant value to all docs, use:
<transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<int name="value">5</int> <int name="value">5</int>
</transformer> </transformer>
If you want the user to still be able to change it with _value:something_ use this: If you want the user to still be able to change it with _value:something_ use this:
<transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<double name="defaultValue">5</double> <double name="defaultValue">5</double>

View File

@ -17,7 +17,7 @@
Default Solr Home Directory Default Solr Home Directory
============================= =============================
This directory is the default Solr home directory which holds This directory is the default Solr home directory which holds
configuration files and Solr indexes (called cores). configuration files and Solr indexes (called cores).
@ -38,17 +38,17 @@ it is recommended to just use automatic core discovery instead of
listing cores in solr.xml. listing cores in solr.xml.
If no solr.xml file is found, then Solr assumes that there should be If no solr.xml file is found, then Solr assumes that there should be
a single SolrCore named "collection1" and that the "Instance Directory" a single SolrCore named "collection1" and that the "Instance Directory"
for collection1 should be the same as the Solr Home Directory. for collection1 should be the same as the Solr Home Directory.
For more information about solr.xml, please see: For more information about solr.xml, please see:
https://cwiki.apache.org/confluence/display/solr/Solr+Cores+and+solr.xml https://lucene.apache.org/solr/guide/solr-cores-and-solr-xml.html
* Individual SolrCore Instance Directories * * Individual SolrCore Instance Directories *
Although solr.xml can be configured to look for SolrCore Instance Directories Although solr.xml can be configured to look for SolrCore Instance Directories
in any path, simple sub-directories of the Solr Home Dir using relative paths in any path, simple sub-directories of the Solr Home Dir using relative paths
are common for many installations. are common for many installations.
* Core Discovery * * Core Discovery *
@ -60,18 +60,18 @@ defined in core.properties. For an example of core.properties, please see:
example/solr/collection1/core.properties example/solr/collection1/core.properties
For more information about core discovery, please see: For more information about core discovery, please see:
https://cwiki.apache.org/confluence/display/solr/Moving+to+the+New+solr.xml+Format https://lucene.apache.org/solr/guide/defining-core-properties.html
* A Shared 'lib' Directory * * A Shared 'lib' Directory *
Although solr.xml can be configured with an optional "sharedLib" attribute Although solr.xml can be configured with an optional "sharedLib" attribute
that can point to any path, it is common to use a "./lib" sub-directory of the that can point to any path, it is common to use a "./lib" sub-directory of the
Solr Home Directory. Solr Home Directory.
* ZooKeeper Files * * ZooKeeper Files *
When using SolrCloud using the embedded ZooKeeper option for Solr, it is When using SolrCloud using the embedded ZooKeeper option for Solr, it is
common to have a "zoo.cfg" file and "zoo_data" directories in the Solr Home common to have a "zoo.cfg" file and "zoo_data" directories in the Solr Home
Directory. Please see the SolrCloud wiki page for more details... Directory. Please see the SolrCloud wiki page for more details...
https://wiki.apache.org/solr/SolrCloud https://wiki.apache.org/solr/SolrCloud

View File

@ -16,9 +16,9 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
For more details about configurations options that may appear in For more details about configurations options that may appear in
this file, see http://wiki.apache.org/solr/SolrConfigXml. this file, see http://wiki.apache.org/solr/SolrConfigXml.
--> -->
<config> <config>
<!-- In all configuration below, a prefix of "solr." for class names <!-- In all configuration below, a prefix of "solr." for class names
@ -46,19 +46,19 @@
instanceDir. instanceDir.
Please note that <lib/> directives are processed in the order Please note that <lib/> directives are processed in the order
that they appear in your solrconfig.xml file, and are "stacked" that they appear in your solrconfig.xml file, and are "stacked"
on top of each other when building a ClassLoader - so if you have on top of each other when building a ClassLoader - so if you have
plugin jars with dependencies on other jars, the "lower level" plugin jars with dependencies on other jars, the "lower level"
dependency jars should be loaded first. dependency jars should be loaded first.
If a "./lib" directory exists in your instanceDir, all files If a "./lib" directory exists in your instanceDir, all files
found in it are included as if you had used the following found in it are included as if you had used the following
syntax... syntax...
<lib dir="./lib" /> <lib dir="./lib" />
--> -->
<!-- A 'dir' option by itself adds any files found in the directory <!-- A 'dir' option by itself adds any files found in the directory
to the classpath, this is useful for including all jars in a to the classpath, this is useful for including all jars in a
directory. directory.
@ -69,7 +69,7 @@
If a 'dir' option (with or without a regex) is used and nothing If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged. is found that matches, a warning will be logged.
The examples below can be used to load some solr-contribs along The examples below can be used to load some solr-contribs along
with their external dependencies. with their external dependencies.
--> -->
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
@ -83,12 +83,12 @@
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged specific jar file. This will cause a serious error to be logged
if it can't be loaded. if it can't be loaded.
--> -->
<!-- <!--
<lib path="../a-jar-that-does-not-exist.jar" /> <lib path="../a-jar-that-does-not-exist.jar" />
--> -->
<!-- Data Directory <!-- Data Directory
@ -102,7 +102,7 @@
<!-- The DirectoryFactory to use for indexes. <!-- The DirectoryFactory to use for indexes.
solr.StandardDirectoryFactory is filesystem solr.StandardDirectoryFactory is filesystem
based and tries to pick the best implementation for the current based and tries to pick the best implementation for the current
JVM and platform. solr.NRTCachingDirectoryFactory, the default, JVM and platform. solr.NRTCachingDirectoryFactory, the default,
@ -125,7 +125,7 @@
are experimental, so if you choose to customize the index format, it's a good are experimental, so if you choose to customize the index format, it's a good
idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader) idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader)
before upgrading to a newer version to avoid unnecessary reindexing. before upgrading to a newer version to avoid unnecessary reindexing.
A "compressionMode" string element can be added to <codecFactory> to choose A "compressionMode" string element can be added to <codecFactory> to choose
between the existing compression modes in the default codec: "BEST_SPEED" (default) between the existing compression modes in the default codec: "BEST_SPEED" (default)
or "BEST_COMPRESSION". or "BEST_COMPRESSION".
--> -->
@ -135,19 +135,19 @@
Index Config - These settings control low-level behavior of indexing Index Config - These settings control low-level behavior of indexing
Most example settings here show the default value, but are commented Most example settings here show the default value, but are commented
out, to more easily see where customizations have been made. out, to more easily see where customizations have been made.
Note: This replaces <indexDefaults> and <mainIndex> from older versions Note: This replaces <indexDefaults> and <mainIndex> from older versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<indexConfig> <indexConfig>
<!-- maxFieldLength was removed in 4.0. To get similar behavior, include a <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
LimitTokenCountFilterFactory in your fieldType definition. E.g. LimitTokenCountFilterFactory in your fieldType definition. E.g.
<filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
--> -->
<!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
<!-- <writeLockTimeout>1000</writeLockTimeout> --> <!-- <writeLockTimeout>1000</writeLockTimeout> -->
<!-- Expert: Enabling compound file will use less files for the index, <!-- Expert: Enabling compound file will use less files for the index,
using fewer file descriptors on the expense of performance decrease. using fewer file descriptors on the expense of performance decrease.
Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
<!-- <useCompoundFile>false</useCompoundFile> --> <!-- <useCompoundFile>false</useCompoundFile> -->
@ -161,7 +161,7 @@
<!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
<!-- Expert: Merge Policy <!-- Expert: Merge Policy
The Merge Policy in Lucene controls how merging of segments is done. The Merge Policy in Lucene controls how merging of segments is done.
The default since Solr/Lucene 3.3 is TieredMergePolicy. The default since Solr/Lucene 3.3 is TieredMergePolicy.
The default since Lucene 2.3 was the LogByteSizeMergePolicy, The default since Lucene 2.3 was the LogByteSizeMergePolicy,
@ -181,15 +181,15 @@
can perform merges in the background using separate threads. can perform merges in the background using separate threads.
The SerialMergeScheduler (Lucene 2.2 default) does not. The SerialMergeScheduler (Lucene 2.2 default) does not.
--> -->
<!-- <!--
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
--> -->
<!-- LockFactory <!-- LockFactory
This option specifies which Lucene LockFactory implementation This option specifies which Lucene LockFactory implementation
to use. to use.
single = SingleInstanceLockFactory - suggested for a single = SingleInstanceLockFactory - suggested for a
read-only index or when there is no possibility of read-only index or when there is no possibility of
another process trying to modify the index. another process trying to modify the index.
@ -213,11 +213,11 @@
The default Solr IndexDeletionPolicy implementation supports The default Solr IndexDeletionPolicy implementation supports
deleting index commit points on number of commits, age of deleting index commit points on number of commits, age of
commit point and optimized status. commit point and optimized status.
The latest commit point should always be preserved regardless The latest commit point should always be preserved regardless
of the criteria. of the criteria.
--> -->
<!-- <!--
<deletionPolicy class="solr.SolrDeletionPolicy"> <deletionPolicy class="solr.SolrDeletionPolicy">
--> -->
<!-- The number of commit points to be kept --> <!-- The number of commit points to be kept -->
@ -232,12 +232,12 @@
<str name="maxCommitAge">30MINUTES</str> <str name="maxCommitAge">30MINUTES</str>
<str name="maxCommitAge">1DAY</str> <str name="maxCommitAge">1DAY</str>
--> -->
<!-- <!--
</deletionPolicy> </deletionPolicy>
--> -->
<!-- Lucene Infostream <!-- Lucene Infostream
To aid in advanced debugging, Lucene provides an "InfoStream" To aid in advanced debugging, Lucene provides an "InfoStream"
of detailed information when indexing. of detailed information when indexing.
@ -249,7 +249,7 @@
<!-- JMX <!-- JMX
This example enables JMX if and only if an existing MBeanServer This example enables JMX if and only if an existing MBeanServer
is found, use this if you want to configure JMX through JVM is found, use this if you want to configure JMX through JVM
parameters. Remove this to disable exposing Solr configuration parameters. Remove this to disable exposing Solr configuration
@ -259,7 +259,7 @@
--> -->
<jmx /> <jmx />
<!-- If you want to connect to a particular server, specify the <!-- If you want to connect to a particular server, specify the
agentId agentId
--> -->
<!-- <jmx agentId="myAgent" /> --> <!-- <jmx agentId="myAgent" /> -->
<!-- If you want to start a new MBeanServer, specify the serviceUrl --> <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
@ -291,7 +291,7 @@
Perform a hard commit automatically under certain conditions. Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin" Instead of enabling autoCommit, consider using "commitWithin"
when adding documents. when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages http://wiki.apache.org/solr/UpdateXmlMessages
@ -300,7 +300,7 @@
maxTime - Maximum amount of time in ms that is allowed to pass maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically since a document was added before automatically
triggering a new commit. triggering a new commit.
openSearcher - if false, the commit causes recent index changes openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible. searcher to be opened to make those changes visible.
@ -324,7 +324,7 @@
</autoSoftCommit> </autoSoftCommit>
<!-- Update Related Event Listeners <!-- Update Related Event Listeners
Various IndexWriter related events can trigger Listeners to Various IndexWriter related events can trigger Listeners to
take actions. take actions.
@ -333,10 +333,10 @@
--> -->
<!-- The RunExecutableListener executes an external command from a <!-- The RunExecutableListener executes an external command from a
hook such as postCommit or postOptimize. hook such as postCommit or postOptimize.
exe - the name of the executable to run exe - the name of the executable to run
dir - dir to use as the current working directory. (default=".") dir - dir to use as the current working directory. (default=".")
wait - the calling thread waits until the executable returns. wait - the calling thread waits until the executable returns.
(default="true") (default="true")
args - the arguments to pass to the program. (default is none) args - the arguments to pass to the program. (default is none)
env - environment variables to set. (default is none) env - environment variables to set. (default is none)
@ -401,7 +401,7 @@
There are two implementations of cache available for Solr, There are two implementations of cache available for Solr,
LRUCache, based on a synchronized LinkedHashMap, and LRUCache, based on a synchronized LinkedHashMap, and
FastLRUCache, based on a ConcurrentHashMap. FastLRUCache, based on a ConcurrentHashMap.
FastLRUCache has faster gets and slower puts in single FastLRUCache has faster gets and slower puts in single
threaded operation and thus is generally faster than LRUCache threaded operation and thus is generally faster than LRUCache
@ -437,7 +437,7 @@
autowarmCount="0"/> autowarmCount="0"/>
<!-- Query Result Cache <!-- Query Result Cache
Caches results of searches - ordered lists of document ids Caches results of searches - ordered lists of document ids
(DocList) based on a query, a sort, and the range of documents requested. (DocList) based on a query, a sort, and the range of documents requested.
Additional supported parameter by LRUCache: Additional supported parameter by LRUCache:
@ -469,7 +469,7 @@
regenerator="solr.NoOpRegenerator" /> regenerator="solr.NoOpRegenerator" />
<!-- Field Value Cache <!-- Field Value Cache
Cache used to hold field values that are quickly accessible Cache used to hold field values that are quickly accessible
by document id. The fieldValueCache is created by default by document id. The fieldValueCache is created by default
even if not configured here. even if not configured here.
@ -487,8 +487,8 @@
name through SolrIndexSearcher.getCache(),cacheLookup(), and name through SolrIndexSearcher.getCache(),cacheLookup(), and
cacheInsert(). The purpose is to enable easy caching of cacheInsert(). The purpose is to enable easy caching of
user/application level data. The regenerator argument should user/application level data. The regenerator argument should
be specified as an implementation of solr.CacheRegenerator be specified as an implementation of solr.CacheRegenerator
if autowarming is desired. if autowarming is desired.
--> -->
<!-- <!--
<cache name="myUserCache" <cache name="myUserCache"
@ -512,14 +512,14 @@
<enableLazyFieldLoading>true</enableLazyFieldLoading> <enableLazyFieldLoading>true</enableLazyFieldLoading>
<!-- Use Filter For Sorted Query <!-- Use Filter For Sorted Query
A possible optimization that attempts to use a filter to A possible optimization that attempts to use a filter to
satisfy a search. If the requested sort does not include satisfy a search. If the requested sort does not include
score, then the filterCache will be checked for a filter score, then the filterCache will be checked for a filter
matching the query. If found, the filter will be used as the matching the query. If found, the filter will be used as the
source of document ids, and then the sort will be applied to source of document ids, and then the sort will be applied to
that. that.
For most situations, this will not be useful unless you For most situations, this will not be useful unless you
frequently get the same search repeatedly with different sort frequently get the same search repeatedly with different sort
options, and none of them ever use "score" options, and none of them ever use "score"
@ -529,39 +529,39 @@
--> -->
<!-- Result Window Size <!-- Result Window Size
An optimization for use with the queryResultCache. When a search An optimization for use with the queryResultCache. When a search
is requested, a superset of the requested number of document ids is requested, a superset of the requested number of document ids
are collected. For example, if a search for a particular query are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50, requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. requests in that range can be satisfied via the cache.
--> -->
<queryResultWindowSize>20</queryResultWindowSize> <queryResultWindowSize>20</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the <!-- Maximum number of documents to cache for any entry in the
queryResultCache. queryResultCache.
--> -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached> <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
<!-- Query Related Event Listeners <!-- Query Related Event Listeners
Various IndexSearcher related events can trigger Listeners to Various IndexSearcher related events can trigger Listeners to
take actions. take actions.
newSearcher - fired whenever a new searcher is being prepared newSearcher - fired whenever a new searcher is being prepared
and there is a current searcher handling requests (aka and there is a current searcher handling requests (aka
registered). It can be used to prime certain caches to registered). It can be used to prime certain caches to
prevent long request times for certain requests. prevent long request times for certain requests.
firstSearcher - fired whenever a new searcher is being firstSearcher - fired whenever a new searcher is being
prepared but there is no current registered searcher to handle prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. requests or to gain autowarming data from.
--> -->
<!-- QuerySenderListener takes an array of NamedList and executes a <!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. local query request for each NamedList in sequence.
--> -->
<listener event="newSearcher" class="solr.QuerySenderListener"> <listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries"> <arr name="queries">
@ -611,19 +611,19 @@
multipartUploadLimitInKB - specifies the max size (in KiB) of multipartUploadLimitInKB - specifies the max size (in KiB) of
Multipart File Uploads that Solr will allow in a Request. Multipart File Uploads that Solr will allow in a Request.
formdataUploadLimitInKB - specifies the max size (in KiB) of formdataUploadLimitInKB - specifies the max size (in KiB) of
form data (application/x-www-form-urlencoded) sent via form data (application/x-www-form-urlencoded) sent via
POST. You can use POST to pass request parameters not POST. You can use POST to pass request parameters not
fitting into the URL. fitting into the URL.
addHttpRequestToContext - if set to true, it will instruct addHttpRequestToContext - if set to true, it will instruct
the requestParsers to include the original HttpServletRequest the requestParsers to include the original HttpServletRequest
object in the context map of the SolrQueryRequest under the object in the context map of the SolrQueryRequest under the
key "httpRequest". It will not be used by any of the existing key "httpRequest". It will not be used by any of the existing
Solr components, but may be useful when developing custom Solr components, but may be useful when developing custom
plugins. plugins.
*** WARNING *** *** WARNING ***
Before enabling remote streaming, you should make sure your Before enabling remote streaming, you should make sure your
system has authentication enabled. system has authentication enabled.
@ -645,21 +645,21 @@
<!-- If you include a <cacheControl> directive, it will be used to <!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header (as well as an Expires header generate a Cache-Control header (as well as an Expires header
if the value contains "max-age=") if the value contains "max-age=")
By default, no Cache-Control header is generated. By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set You can use the <cacheControl> option even if you have set
never304="true" never304="true"
--> -->
<!-- <!--
<httpCaching never304="true" > <httpCaching never304="true" >
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
<!-- To enable Solr to respond with automatically generated HTTP <!-- To enable Solr to respond with automatically generated HTTP
Caching headers, and to response to Cache Validation requests Caching headers, and to response to Cache Validation requests
correctly, set the value of never304="false" correctly, set the value of never304="false"
This will cause Solr to generate Last-Modified and ETag This will cause Solr to generate Last-Modified and ETag
headers based on the properties of the Index. headers based on the properties of the Index.
@ -684,12 +684,12 @@
<!-- <!--
<httpCaching lastModifiedFrom="openTime" <httpCaching lastModifiedFrom="openTime"
etagSeed="Solr"> etagSeed="Solr">
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
</requestDispatcher> </requestDispatcher>
<!-- Request Handlers <!-- Request Handlers
http://wiki.apache.org/solr/SolrRequestHandler http://wiki.apache.org/solr/SolrRequestHandler
@ -783,7 +783,7 @@
<!-- A Robust Example <!-- A Robust Example
This example SearchHandler declaration shows off usage of the This example SearchHandler declaration shows off usage of the
SearchHandler with many defaults declared SearchHandler with many defaults declared
@ -805,7 +805,7 @@
<!-- Solr Cell Update Request Handler <!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandler
--> -->
<requestHandler name="/update/extract" <requestHandler name="/update/extract"
@ -820,18 +820,18 @@
<!-- Search Components <!-- Search Components
Search components are registered to SolrCore and used by Search components are registered to SolrCore and used by
instances of SearchHandler (which can access them by name) instances of SearchHandler (which can access them by name)
By default, the following components are available: By default, the following components are available:
<searchComponent name="query" class="solr.QueryComponent" /> <searchComponent name="query" class="solr.QueryComponent" />
<searchComponent name="facet" class="solr.FacetComponent" /> <searchComponent name="facet" class="solr.FacetComponent" />
<searchComponent name="mlt" class="solr.MoreLikeThisComponent" /> <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
<searchComponent name="highlight" class="solr.HighlightComponent" /> <searchComponent name="highlight" class="solr.HighlightComponent" />
<searchComponent name="stats" class="solr.StatsComponent" /> <searchComponent name="stats" class="solr.StatsComponent" />
<searchComponent name="debug" class="solr.DebugComponent" /> <searchComponent name="debug" class="solr.DebugComponent" />
Default configuration in a requestHandler would look like: Default configuration in a requestHandler would look like:
<arr name="components"> <arr name="components">
@ -843,28 +843,28 @@
<str>debug</str> <str>debug</str>
</arr> </arr>
If you register a searchComponent to one of the standard names, If you register a searchComponent to one of the standard names,
that will be used instead of the default. that will be used instead of the default.
To insert components before or after the 'standard' components, use: To insert components before or after the 'standard' components, use:
<arr name="first-components"> <arr name="first-components">
<str>myFirstComponentName</str> <str>myFirstComponentName</str>
</arr> </arr>
<arr name="last-components"> <arr name="last-components">
<str>myLastComponentName</str> <str>myLastComponentName</str>
</arr> </arr>
NOTE: The component registered with the name "debug" will NOTE: The component registered with the name "debug" will
always be executed after the "last-components" always be executed after the "last-components"
--> -->
<!-- Spell Check <!-- Spell Check
The spell check component can return a list of alternative spelling The spell check component can return a list of alternative spelling
suggestions. suggestions.
http://wiki.apache.org/solr/SpellCheckComponent http://wiki.apache.org/solr/SpellCheckComponent
--> -->
@ -913,7 +913,7 @@
--> -->
</searchComponent> </searchComponent>
<!-- A request handler for demonstrating the spellcheck component. <!-- A request handler for demonstrating the spellcheck component.
NOTE: This is purely as an example. The whole purpose of the NOTE: This is purely as an example. The whole purpose of the
SpellCheckComponent is to hook it into the request handler that SpellCheckComponent is to hook it into the request handler that
@ -922,7 +922,7 @@
IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM! NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
See http://wiki.apache.org/solr/SpellCheckComponent for details See http://wiki.apache.org/solr/SpellCheckComponent for details
on the request parameters. on the request parameters.
--> -->
@ -958,8 +958,8 @@
This is purely as an example. This is purely as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults"> <lst name="defaults">
@ -1032,8 +1032,8 @@
</lst> </lst>
</fragmenter> </fragmenter>
<!-- A regular-expression-based fragmenter <!-- A regular-expression-based fragmenter
(for sentence extraction) (for sentence extraction)
--> -->
<fragmenter name="regex" <fragmenter name="regex"
class="solr.highlight.RegexFragmenter"> class="solr.highlight.RegexFragmenter">
@ -1078,7 +1078,7 @@
<fragmentsBuilder name="default" <fragmentsBuilder name="default"
default="true" default="true"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<!-- <!--
<lst name="defaults"> <lst name="defaults">
<str name="hl.multiValuedSeparatorChar">/</str> <str name="hl.multiValuedSeparatorChar">/</str>
</lst> </lst>
@ -1131,19 +1131,19 @@
http://wiki.apache.org/solr/UpdateRequestProcessor http://wiki.apache.org/solr/UpdateRequestProcessor
--> -->
<!-- Add unknown fields to the schema <!-- Add unknown fields to the schema
Field type guessing update processors that will Field type guessing update processors that will
attempt to parse string-typed field values as Booleans, Longs, attempt to parse string-typed field values as Booleans, Longs,
Doubles, or Dates, and then add schema fields with the guessed Doubles, or Dates, and then add schema fields with the guessed
field types. Text content will be indexed as "text_general" as field types. Text content will be indexed as "text_general" as
well as a copy to a plain string version in *_str. well as a copy to a plain string version in *_str.
These require that the schema is both managed and mutable, by These require that the schema is both managed and mutable, by
declaring schemaFactory as ManagedIndexSchemaFactory, with declaring schemaFactory as ManagedIndexSchemaFactory, with
mutable specified as true. mutable specified as true.
See http://wiki.apache.org/solr/GuessingFieldTypes See http://wiki.apache.org/solr/GuessingFieldTypes
--> -->
<updateProcessor class="solr.UUIDUpdateProcessorFactory" name="uuid"/> <updateProcessor class="solr.UUIDUpdateProcessorFactory" name="uuid"/>
@ -1220,8 +1220,8 @@
on the fly based on the hash code of some other fields. This on the fly based on the hash code of some other fields. This
example has overwriteDupes set to false since we are using the example has overwriteDupes set to false since we are using the
id field as the signatureField and Solr will maintain id field as the signatureField and Solr will maintain
uniqueness based on that anyway. uniqueness based on that anyway.
--> -->
<!-- <!--
<updateRequestProcessorChain name="dedupe"> <updateRequestProcessorChain name="dedupe">
@ -1292,7 +1292,7 @@
overridden... overridden...
--> -->
<!-- <!--
<queryResponseWriter name="xml" <queryResponseWriter name="xml"
default="true" default="true"
class="solr.XMLResponseWriter" /> class="solr.XMLResponseWriter" />
<queryResponseWriter name="json" class="solr.JSONResponseWriter"/> <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
@ -1323,7 +1323,7 @@
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.
--> -->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"> <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int> <int name="xsltCacheLifetimeSeconds">5</int>
@ -1331,7 +1331,7 @@
<!-- Query Parsers <!-- Query Parsers
https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html
Multiple QParserPlugins can be registered by name, and then Multiple QParserPlugins can be registered by name, and then
used in either the "defType" param for the QueryComponent (used used in either the "defType" param for the QueryComponent (used
@ -1351,7 +1351,7 @@
--> -->
<!-- example of registering a custom function parser --> <!-- example of registering a custom function parser -->
<!-- <!--
<valueSourceParser name="myfunc" <valueSourceParser name="myfunc"
class="com.mycompany.MyValueSourceParser" /> class="com.mycompany.MyValueSourceParser" />
--> -->
@ -1364,12 +1364,12 @@
<transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
<int name="connection">jdbc://....</int> <int name="connection">jdbc://....</int>
</transformer> </transformer>
To add a constant value to all docs, use: To add a constant value to all docs, use:
<transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<int name="value">5</int> <int name="value">5</int>
</transformer> </transformer>
If you want the user to still be able to change it with _value:something_ use this: If you want the user to still be able to change it with _value:something_ use this:
<transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<double name="defaultValue">5</double> <double name="defaultValue">5</double>

View File

@ -16,9 +16,9 @@
limitations under the License. limitations under the License.
--> -->
<!-- <!--
For more details about configurations options that may appear in For more details about configurations options that may appear in
this file, see http://wiki.apache.org/solr/SolrConfigXml. this file, see http://wiki.apache.org/solr/SolrConfigXml.
--> -->
<config> <config>
<!-- In all configuration below, a prefix of "solr." for class names <!-- In all configuration below, a prefix of "solr." for class names
@ -46,19 +46,19 @@
instanceDir. instanceDir.
Please note that <lib/> directives are processed in the order Please note that <lib/> directives are processed in the order
that they appear in your solrconfig.xml file, and are "stacked" that they appear in your solrconfig.xml file, and are "stacked"
on top of each other when building a ClassLoader - so if you have on top of each other when building a ClassLoader - so if you have
plugin jars with dependencies on other jars, the "lower level" plugin jars with dependencies on other jars, the "lower level"
dependency jars should be loaded first. dependency jars should be loaded first.
If a "./lib" directory exists in your instanceDir, all files If a "./lib" directory exists in your instanceDir, all files
found in it are included as if you had used the following found in it are included as if you had used the following
syntax... syntax...
<lib dir="./lib" /> <lib dir="./lib" />
--> -->
<!-- A 'dir' option by itself adds any files found in the directory <!-- A 'dir' option by itself adds any files found in the directory
to the classpath, this is useful for including all jars in a to the classpath, this is useful for including all jars in a
directory. directory.
@ -69,7 +69,7 @@
If a 'dir' option (with or without a regex) is used and nothing If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged. is found that matches, a warning will be logged.
The examples below can be used to load some solr-contribs along The examples below can be used to load some solr-contribs along
with their external dependencies. with their external dependencies.
--> -->
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
@ -87,14 +87,14 @@
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged specific jar file. This will cause a serious error to be logged
if it can't be loaded. if it can't be loaded.
--> -->
<!-- <!--
<lib path="../a-jar-that-does-not-exist.jar" /> <lib path="../a-jar-that-does-not-exist.jar" />
--> -->
<!-- Data Directory <!-- Data Directory
Used to specify an alternate directory to hold all index data Used to specify an alternate directory to hold all index data
@ -106,7 +106,7 @@
<!-- The DirectoryFactory to use for indexes. <!-- The DirectoryFactory to use for indexes.
solr.StandardDirectoryFactory is filesystem solr.StandardDirectoryFactory is filesystem
based and tries to pick the best implementation for the current based and tries to pick the best implementation for the current
JVM and platform. solr.NRTCachingDirectoryFactory, the default, JVM and platform. solr.NRTCachingDirectoryFactory, the default,
@ -118,7 +118,7 @@
solr.RAMDirectoryFactory is memory based and not persistent. solr.RAMDirectoryFactory is memory based and not persistent.
--> -->
<directoryFactory name="DirectoryFactory" <directoryFactory name="DirectoryFactory"
class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/> class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
<!-- The CodecFactory for defining the format of the inverted index. <!-- The CodecFactory for defining the format of the inverted index.
@ -129,7 +129,7 @@
are experimental, so if you choose to customize the index format, it's a good are experimental, so if you choose to customize the index format, it's a good
idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader) idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader)
before upgrading to a newer version to avoid unnecessary reindexing. before upgrading to a newer version to avoid unnecessary reindexing.
A "compressionMode" string element can be added to <codecFactory> to choose A "compressionMode" string element can be added to <codecFactory> to choose
between the existing compression modes in the default codec: "BEST_SPEED" (default) between the existing compression modes in the default codec: "BEST_SPEED" (default)
or "BEST_COMPRESSION". or "BEST_COMPRESSION".
--> -->
@ -139,19 +139,19 @@
Index Config - These settings control low-level behavior of indexing Index Config - These settings control low-level behavior of indexing
Most example settings here show the default value, but are commented Most example settings here show the default value, but are commented
out, to more easily see where customizations have been made. out, to more easily see where customizations have been made.
Note: This replaces <indexDefaults> and <mainIndex> from older versions Note: This replaces <indexDefaults> and <mainIndex> from older versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<indexConfig> <indexConfig>
<!-- maxFieldLength was removed in 4.0. To get similar behavior, include a <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
LimitTokenCountFilterFactory in your fieldType definition. E.g. LimitTokenCountFilterFactory in your fieldType definition. E.g.
<filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
--> -->
<!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
<!-- <writeLockTimeout>1000</writeLockTimeout> --> <!-- <writeLockTimeout>1000</writeLockTimeout> -->
<!-- Expert: Enabling compound file will use less files for the index, <!-- Expert: Enabling compound file will use less files for the index,
using fewer file descriptors on the expense of performance decrease. using fewer file descriptors on the expense of performance decrease.
Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
<!-- <useCompoundFile>false</useCompoundFile> --> <!-- <useCompoundFile>false</useCompoundFile> -->
@ -166,7 +166,7 @@
<!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
<!-- Expert: Merge Policy <!-- Expert: Merge Policy
The Merge Policy in Lucene controls how merging of segments is done. The Merge Policy in Lucene controls how merging of segments is done.
The default since Solr/Lucene 3.3 is TieredMergePolicy. The default since Solr/Lucene 3.3 is TieredMergePolicy.
The default since Lucene 2.3 was the LogByteSizeMergePolicy, The default since Lucene 2.3 was the LogByteSizeMergePolicy,
@ -186,15 +186,15 @@
can perform merges in the background using separate threads. can perform merges in the background using separate threads.
The SerialMergeScheduler (Lucene 2.2 default) does not. The SerialMergeScheduler (Lucene 2.2 default) does not.
--> -->
<!-- <!--
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
--> -->
<!-- LockFactory <!-- LockFactory
This option specifies which Lucene LockFactory implementation This option specifies which Lucene LockFactory implementation
to use. to use.
single = SingleInstanceLockFactory - suggested for a single = SingleInstanceLockFactory - suggested for a
read-only index or when there is no possibility of read-only index or when there is no possibility of
another process trying to modify the index. another process trying to modify the index.
@ -218,11 +218,11 @@
The default Solr IndexDeletionPolicy implementation supports The default Solr IndexDeletionPolicy implementation supports
deleting index commit points on number of commits, age of deleting index commit points on number of commits, age of
commit point and optimized status. commit point and optimized status.
The latest commit point should always be preserved regardless The latest commit point should always be preserved regardless
of the criteria. of the criteria.
--> -->
<!-- <!--
<deletionPolicy class="solr.SolrDeletionPolicy"> <deletionPolicy class="solr.SolrDeletionPolicy">
--> -->
<!-- The number of commit points to be kept --> <!-- The number of commit points to be kept -->
@ -237,12 +237,12 @@
<str name="maxCommitAge">30MINUTES</str> <str name="maxCommitAge">30MINUTES</str>
<str name="maxCommitAge">1DAY</str> <str name="maxCommitAge">1DAY</str>
--> -->
<!-- <!--
</deletionPolicy> </deletionPolicy>
--> -->
<!-- Lucene Infostream <!-- Lucene Infostream
To aid in advanced debugging, Lucene provides an "InfoStream" To aid in advanced debugging, Lucene provides an "InfoStream"
of detailed information when indexing. of detailed information when indexing.
@ -255,7 +255,7 @@
<!-- JMX <!-- JMX
This example enables JMX if and only if an existing MBeanServer This example enables JMX if and only if an existing MBeanServer
is found, use this if you want to configure JMX through JVM is found, use this if you want to configure JMX through JVM
parameters. Remove this to disable exposing Solr configuration parameters. Remove this to disable exposing Solr configuration
@ -265,7 +265,7 @@
--> -->
<jmx /> <jmx />
<!-- If you want to connect to a particular server, specify the <!-- If you want to connect to a particular server, specify the
agentId agentId
--> -->
<!-- <jmx agentId="myAgent" /> --> <!-- <jmx agentId="myAgent" /> -->
<!-- If you want to start a new MBeanServer, specify the serviceUrl --> <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
@ -292,12 +292,12 @@
<str name="dir">${solr.ulog.dir:}</str> <str name="dir">${solr.ulog.dir:}</str>
<int name="numVersionBuckets">${solr.ulog.numVersionBuckets:65536}</int> <int name="numVersionBuckets">${solr.ulog.numVersionBuckets:65536}</int>
</updateLog> </updateLog>
<!-- AutoCommit <!-- AutoCommit
Perform a hard commit automatically under certain conditions. Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin" Instead of enabling autoCommit, consider using "commitWithin"
when adding documents. when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages http://wiki.apache.org/solr/UpdateXmlMessages
@ -306,7 +306,7 @@
maxTime - Maximum amount of time in ms that is allowed to pass maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically since a document was added before automatically
triggering a new commit. triggering a new commit.
openSearcher - if false, the commit causes recent index changes openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible. searcher to be opened to make those changes visible.
@ -314,9 +314,9 @@
If the updateLog is enabled, then it's highly recommended to If the updateLog is enabled, then it's highly recommended to
have some sort of hard autoCommit to limit the log size. have some sort of hard autoCommit to limit the log size.
--> -->
<autoCommit> <autoCommit>
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime> <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
<openSearcher>false</openSearcher> <openSearcher>false</openSearcher>
</autoCommit> </autoCommit>
<!-- softAutoCommit is like autoCommit except it causes a <!-- softAutoCommit is like autoCommit except it causes a
@ -325,12 +325,12 @@
faster and more near-realtime friendly than a hard commit. faster and more near-realtime friendly than a hard commit.
--> -->
<autoSoftCommit> <autoSoftCommit>
<maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
</autoSoftCommit> </autoSoftCommit>
<!-- Update Related Event Listeners <!-- Update Related Event Listeners
Various IndexWriter related events can trigger Listeners to Various IndexWriter related events can trigger Listeners to
take actions. take actions.
@ -339,10 +339,10 @@
--> -->
<!-- The RunExecutableListener executes an external command from a <!-- The RunExecutableListener executes an external command from a
hook such as postCommit or postOptimize. hook such as postCommit or postOptimize.
exe - the name of the executable to run exe - the name of the executable to run
dir - dir to use as the current working directory. (default=".") dir - dir to use as the current working directory. (default=".")
wait - the calling thread waits until the executable returns. wait - the calling thread waits until the executable returns.
(default="true") (default="true")
args - the arguments to pass to the program. (default is none) args - the arguments to pass to the program. (default is none)
env - environment variables to set. (default is none) env - environment variables to set. (default is none)
@ -362,7 +362,7 @@
--> -->
</updateHandler> </updateHandler>
<!-- IndexReaderFactory <!-- IndexReaderFactory
Use the following format to specify a custom IndexReaderFactory, Use the following format to specify a custom IndexReaderFactory,
@ -403,15 +403,15 @@
--> -->
<maxBooleanClauses>1024</maxBooleanClauses> <maxBooleanClauses>1024</maxBooleanClauses>
<!-- Slow Query Threshold (in millis) <!-- Slow Query Threshold (in millis)
At high request rates, logging all requests can become a bottleneck At high request rates, logging all requests can become a bottleneck
and therefore INFO logging is often turned off. However, it is still and therefore INFO logging is often turned off. However, it is still
useful to be able to set a latency threshold above which a request useful to be able to set a latency threshold above which a request
is considered "slow" and log that request at WARN level so we can is considered "slow" and log that request at WARN level so we can
easily identify slow queries. easily identify slow queries.
--> -->
<slowQueryThresholdMillis>-1</slowQueryThresholdMillis> <slowQueryThresholdMillis>-1</slowQueryThresholdMillis>
@ -419,7 +419,7 @@
There are two implementations of cache available for Solr, There are two implementations of cache available for Solr,
LRUCache, based on a synchronized LinkedHashMap, and LRUCache, based on a synchronized LinkedHashMap, and
FastLRUCache, based on a ConcurrentHashMap. FastLRUCache, based on a ConcurrentHashMap.
FastLRUCache has faster gets and slower puts in single FastLRUCache has faster gets and slower puts in single
threaded operation and thus is generally faster than LRUCache threaded operation and thus is generally faster than LRUCache
@ -466,19 +466,19 @@
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- Document Cache <!-- Document Cache
Caches Lucene Document objects (the stored fields for each Caches Lucene Document objects (the stored fields for each
document). Since Lucene internal document ids are transient, document). Since Lucene internal document ids are transient,
this cache will not be autowarmed. this cache will not be autowarmed.
--> -->
<documentCache class="solr.LRUCache" <documentCache class="solr.LRUCache"
size="512" size="512"
initialSize="512" initialSize="512"
autowarmCount="0"/> autowarmCount="0"/>
<!-- custom cache currently used by block join --> <!-- custom cache currently used by block join -->
<cache name="perSegFilter" <cache name="perSegFilter"
class="solr.search.LRUCache" class="solr.search.LRUCache"
size="10" size="10"
@ -487,7 +487,7 @@
regenerator="solr.NoOpRegenerator" /> regenerator="solr.NoOpRegenerator" />
<!-- Field Value Cache <!-- Field Value Cache
Cache used to hold field values that are quickly accessible Cache used to hold field values that are quickly accessible
by document id. The fieldValueCache is created by default by document id. The fieldValueCache is created by default
even if not configured here. even if not configured here.
@ -507,7 +507,7 @@
when running solr to run with ltr enabled: when running solr to run with ltr enabled:
-Dsolr.ltr.enabled=true -Dsolr.ltr.enabled=true
https://cwiki.apache.org/confluence/display/solr/Learning+To+Rank https://lucene.apache.org/solr/guide/learning-to-rank.html
--> -->
<cache enable="${solr.ltr.enabled:false}" name="QUERY_DOC_FV" <cache enable="${solr.ltr.enabled:false}" name="QUERY_DOC_FV"
class="solr.search.LRUCache" class="solr.search.LRUCache"
@ -522,8 +522,8 @@
name through SolrIndexSearcher.getCache(),cacheLookup(), and name through SolrIndexSearcher.getCache(),cacheLookup(), and
cacheInsert(). The purpose is to enable easy caching of cacheInsert(). The purpose is to enable easy caching of
user/application level data. The regenerator argument should user/application level data. The regenerator argument should
be specified as an implementation of solr.CacheRegenerator be specified as an implementation of solr.CacheRegenerator
if autowarming is desired. if autowarming is desired.
--> -->
<!-- <!--
<cache name="myUserCache" <cache name="myUserCache"
@ -570,12 +570,12 @@
are collected. For example, if a search for a particular query are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50, requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. requests in that range can be satisfied via the cache.
--> -->
<queryResultWindowSize>20</queryResultWindowSize> <queryResultWindowSize>20</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the <!-- Maximum number of documents to cache for any entry in the
queryResultCache. queryResultCache.
--> -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached> <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
@ -593,10 +593,10 @@
prepared but there is no current registered searcher to handle prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. requests or to gain autowarming data from.
--> -->
<!-- QuerySenderListener takes an array of NamedList and executes a <!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. local query request for each NamedList in sequence.
--> -->
<listener event="newSearcher" class="solr.QuerySenderListener"> <listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries"> <arr name="queries">
@ -644,19 +644,19 @@
multipartUploadLimitInKB - specifies the max size (in KiB) of multipartUploadLimitInKB - specifies the max size (in KiB) of
Multipart File Uploads that Solr will allow in a Request. Multipart File Uploads that Solr will allow in a Request.
formdataUploadLimitInKB - specifies the max size (in KiB) of formdataUploadLimitInKB - specifies the max size (in KiB) of
form data (application/x-www-form-urlencoded) sent via form data (application/x-www-form-urlencoded) sent via
POST. You can use POST to pass request parameters not POST. You can use POST to pass request parameters not
fitting into the URL. fitting into the URL.
addHttpRequestToContext - if set to true, it will instruct addHttpRequestToContext - if set to true, it will instruct
the requestParsers to include the original HttpServletRequest the requestParsers to include the original HttpServletRequest
object in the context map of the SolrQueryRequest under the object in the context map of the SolrQueryRequest under the
key "httpRequest". It will not be used by any of the existing key "httpRequest". It will not be used by any of the existing
Solr components, but may be useful when developing custom Solr components, but may be useful when developing custom
plugins. plugins.
*** WARNING *** *** WARNING ***
Before enabling remote streaming, you should make sure your Before enabling remote streaming, you should make sure your
system has authentication enabled. system has authentication enabled.
@ -678,21 +678,21 @@
<!-- If you include a <cacheControl> directive, it will be used to <!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header (as well as an Expires header generate a Cache-Control header (as well as an Expires header
if the value contains "max-age=") if the value contains "max-age=")
By default, no Cache-Control header is generated. By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set You can use the <cacheControl> option even if you have set
never304="true" never304="true"
--> -->
<!-- <!--
<httpCaching never304="true" > <httpCaching never304="true" >
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
<!-- To enable Solr to respond with automatically generated HTTP <!-- To enable Solr to respond with automatically generated HTTP
Caching headers, and to response to Cache Validation requests Caching headers, and to response to Cache Validation requests
correctly, set the value of never304="false" correctly, set the value of never304="false"
This will cause Solr to generate Last-Modified and ETag This will cause Solr to generate Last-Modified and ETag
headers based on the properties of the Index. headers based on the properties of the Index.
@ -717,12 +717,12 @@
<!-- <!--
<httpCaching lastModifiedFrom="openTime" <httpCaching lastModifiedFrom="openTime"
etagSeed="Solr"> etagSeed="Solr">
<cacheControl>max-age=30, public</cacheControl> <cacheControl>max-age=30, public</cacheControl>
</httpCaching> </httpCaching>
--> -->
</requestDispatcher> </requestDispatcher>
<!-- Request Handlers <!-- Request Handlers
http://wiki.apache.org/solr/SolrRequestHandler http://wiki.apache.org/solr/SolrRequestHandler
@ -830,7 +830,7 @@
</requestHandler> </requestHandler>
<!-- A Robust Example <!-- A Robust Example
This example SearchHandler declaration shows off usage of the This example SearchHandler declaration shows off usage of the
SearchHandler with many defaults declared SearchHandler with many defaults declared
@ -911,14 +911,14 @@
<!-- Spell checking defaults --> <!-- Spell checking defaults -->
<str name="spellcheck">on</str> <str name="spellcheck">on</str>
<str name="spellcheck.extendedResults">false</str> <str name="spellcheck.extendedResults">false</str>
<str name="spellcheck.count">5</str> <str name="spellcheck.count">5</str>
<str name="spellcheck.alternativeTermCount">2</str> <str name="spellcheck.alternativeTermCount">2</str>
<str name="spellcheck.maxResultsForSuggest">5</str> <str name="spellcheck.maxResultsForSuggest">5</str>
<str name="spellcheck.collate">true</str> <str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str> <str name="spellcheck.collateExtendedResults">true</str>
<str name="spellcheck.maxCollationTries">5</str> <str name="spellcheck.maxCollationTries">5</str>
<str name="spellcheck.maxCollations">3</str> <str name="spellcheck.maxCollations">3</str>
</lst> </lst>
<!-- append spellchecking to our list of components --> <!-- append spellchecking to our list of components -->
@ -949,10 +949,10 @@
<!-- Solr Cell Update Request Handler <!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandler
--> -->
<requestHandler name="/update/extract" <requestHandler name="/update/extract"
startup="lazy" startup="lazy"
class="solr.extraction.ExtractingRequestHandler" > class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults"> <lst name="defaults">
@ -968,18 +968,18 @@
<!-- Search Components <!-- Search Components
Search components are registered to SolrCore and used by Search components are registered to SolrCore and used by
instances of SearchHandler (which can access them by name) instances of SearchHandler (which can access them by name)
By default, the following components are available: By default, the following components are available:
<searchComponent name="query" class="solr.QueryComponent" /> <searchComponent name="query" class="solr.QueryComponent" />
<searchComponent name="facet" class="solr.FacetComponent" /> <searchComponent name="facet" class="solr.FacetComponent" />
<searchComponent name="mlt" class="solr.MoreLikeThisComponent" /> <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
<searchComponent name="highlight" class="solr.HighlightComponent" /> <searchComponent name="highlight" class="solr.HighlightComponent" />
<searchComponent name="stats" class="solr.StatsComponent" /> <searchComponent name="stats" class="solr.StatsComponent" />
<searchComponent name="debug" class="solr.DebugComponent" /> <searchComponent name="debug" class="solr.DebugComponent" />
Default configuration in a requestHandler would look like: Default configuration in a requestHandler would look like:
<arr name="components"> <arr name="components">
@ -991,28 +991,28 @@
<str>debug</str> <str>debug</str>
</arr> </arr>
If you register a searchComponent to one of the standard names, If you register a searchComponent to one of the standard names,
that will be used instead of the default. that will be used instead of the default.
To insert components before or after the 'standard' components, use: To insert components before or after the 'standard' components, use:
<arr name="first-components"> <arr name="first-components">
<str>myFirstComponentName</str> <str>myFirstComponentName</str>
</arr> </arr>
<arr name="last-components"> <arr name="last-components">
<str>myLastComponentName</str> <str>myLastComponentName</str>
</arr> </arr>
NOTE: The component registered with the name "debug" will NOTE: The component registered with the name "debug" will
always be executed after the "last-components" always be executed after the "last-components"
--> -->
<!-- Spell Check <!-- Spell Check
The spell check component can return a list of alternative spelling The spell check component can return a list of alternative spelling
suggestions. suggestions.
http://wiki.apache.org/solr/SpellCheckComponent http://wiki.apache.org/solr/SpellCheckComponent
--> -->
@ -1047,11 +1047,11 @@
<float name="thresholdTokenFrequency">.01</float> <float name="thresholdTokenFrequency">.01</float>
--> -->
</lst> </lst>
<!-- a spellchecker that can break or combine words. See "/spell" handler below for usage --> <!-- a spellchecker that can break or combine words. See "/spell" handler below for usage -->
<lst name="spellchecker"> <lst name="spellchecker">
<str name="name">wordbreak</str> <str name="name">wordbreak</str>
<str name="classname">solr.WordBreakSolrSpellChecker</str> <str name="classname">solr.WordBreakSolrSpellChecker</str>
<str name="field">name</str> <str name="field">name</str>
<str name="combineWords">true</str> <str name="combineWords">true</str>
<str name="breakWords">true</str> <str name="breakWords">true</str>
@ -1070,7 +1070,7 @@
</lst> </lst>
--> -->
<!-- a spellchecker that use an alternate comparator <!-- a spellchecker that use an alternate comparator
comparatorClass be one of: comparatorClass be one of:
1. score (default) 1. score (default)
@ -1096,8 +1096,8 @@
</lst> </lst>
--> -->
</searchComponent> </searchComponent>
<!-- A request handler for demonstrating the spellcheck component. <!-- A request handler for demonstrating the spellcheck component.
NOTE: This is purely as an example. The whole purpose of the NOTE: This is purely as an example. The whole purpose of the
SpellCheckComponent is to hook it into the request handler that SpellCheckComponent is to hook it into the request handler that
@ -1106,7 +1106,7 @@
IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM! NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
See http://wiki.apache.org/solr/SpellCheckComponent for details See http://wiki.apache.org/solr/SpellCheckComponent for details
on the request parameters. on the request parameters.
--> -->
@ -1119,33 +1119,33 @@
<str name="spellcheck.dictionary">default</str> <str name="spellcheck.dictionary">default</str>
<str name="spellcheck.dictionary">wordbreak</str> <str name="spellcheck.dictionary">wordbreak</str>
<str name="spellcheck">on</str> <str name="spellcheck">on</str>
<str name="spellcheck.extendedResults">true</str> <str name="spellcheck.extendedResults">true</str>
<str name="spellcheck.count">10</str> <str name="spellcheck.count">10</str>
<str name="spellcheck.alternativeTermCount">5</str> <str name="spellcheck.alternativeTermCount">5</str>
<str name="spellcheck.maxResultsForSuggest">5</str> <str name="spellcheck.maxResultsForSuggest">5</str>
<str name="spellcheck.collate">true</str> <str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str> <str name="spellcheck.collateExtendedResults">true</str>
<str name="spellcheck.maxCollationTries">10</str> <str name="spellcheck.maxCollationTries">10</str>
<str name="spellcheck.maxCollations">5</str> <str name="spellcheck.maxCollations">5</str>
</lst> </lst>
<arr name="last-components"> <arr name="last-components">
<str>spellcheck</str> <str>spellcheck</str>
</arr> </arr>
</requestHandler> </requestHandler>
<!-- The SuggestComponent in Solr provides users with automatic suggestions for query terms. <!-- The SuggestComponent in Solr provides users with automatic suggestions for query terms.
You can use this to implement a powerful auto-suggest feature in your search application. You can use this to implement a powerful auto-suggest feature in your search application.
As with the rest of this solrconfig.xml file, the configuration of this component is purely As with the rest of this solrconfig.xml file, the configuration of this component is purely
an example that applies specifically to this configset and example documents. an example that applies specifically to this configset and example documents.
More information about this component and other configuration options are described in the More information about this component and other configuration options are described in the
"Suggester" section of the reference guide available at "Suggester" section of the reference guide available at
http://archive.apache.org/dist/lucene/solr/ref-guide http://archive.apache.org/dist/lucene/solr/ref-guide
--> -->
<searchComponent name="suggest" class="solr.SuggestComponent"> <searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester"> <lst name="suggester">
<str name="name">mySuggester</str> <str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str> <str name="lookupImpl">FuzzyLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str> <str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">cat</str> <str name="field">cat</str>
<str name="weightField">price</str> <str name="weightField">price</str>
@ -1154,7 +1154,7 @@
</lst> </lst>
</searchComponent> </searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" <requestHandler name="/suggest" class="solr.SearchHandler"
startup="lazy" > startup="lazy" >
<lst name="defaults"> <lst name="defaults">
<str name="suggest">true</str> <str name="suggest">true</str>
@ -1176,8 +1176,8 @@
This is purely as an example. This is purely as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults"> <lst name="defaults">
@ -1194,7 +1194,7 @@
when running solr to run with clustering enabled: when running solr to run with clustering enabled:
-Dsolr.clustering.enabled=true -Dsolr.clustering.enabled=true
https://cwiki.apache.org/confluence/display/solr/Result+Clustering https://lucene.apache.org/solr/guide/result-clustering.html
--> -->
<searchComponent name="clustering" <searchComponent name="clustering"
enable="${solr.clustering.enabled:false}" enable="${solr.clustering.enabled:false}"
@ -1240,8 +1240,8 @@
<!-- A request handler for demonstrating the clustering component. <!-- A request handler for demonstrating the clustering component.
This is meant as an example. This is meant as an example.
In reality you will likely want to add the component to your In reality you will likely want to add the component to your
already specified request handlers. already specified request handlers.
--> -->
<requestHandler name="/clustering" <requestHandler name="/clustering"
startup="lazy" startup="lazy"
@ -1291,7 +1291,7 @@
<lst name="defaults"> <lst name="defaults">
<bool name="terms">true</bool> <bool name="terms">true</bool>
<bool name="distrib">false</bool> <bool name="distrib">false</bool>
</lst> </lst>
<arr name="components"> <arr name="components">
<str>terms</str> <str>terms</str>
</arr> </arr>
@ -1330,7 +1330,7 @@
<highlighting> <highlighting>
<!-- Configure the standard fragmenter --> <!-- Configure the standard fragmenter -->
<!-- This could most likely be commented out in the "default" case --> <!-- This could most likely be commented out in the "default" case -->
<fragmenter name="gap" <fragmenter name="gap"
default="true" default="true"
class="solr.highlight.GapFragmenter"> class="solr.highlight.GapFragmenter">
<lst name="defaults"> <lst name="defaults">
@ -1338,10 +1338,10 @@
</lst> </lst>
</fragmenter> </fragmenter>
<!-- A regular-expression-based fragmenter <!-- A regular-expression-based fragmenter
(for sentence extraction) (for sentence extraction)
--> -->
<fragmenter name="regex" <fragmenter name="regex"
class="solr.highlight.RegexFragmenter"> class="solr.highlight.RegexFragmenter">
<lst name="defaults"> <lst name="defaults">
<!-- slightly smaller fragsizes work better because of slop --> <!-- slightly smaller fragsizes work better because of slop -->
@ -1354,7 +1354,7 @@
</fragmenter> </fragmenter>
<!-- Configure the standard formatter --> <!-- Configure the standard formatter -->
<formatter name="html" <formatter name="html"
default="true" default="true"
class="solr.highlight.HtmlFormatter"> class="solr.highlight.HtmlFormatter">
<lst name="defaults"> <lst name="defaults">
@ -1364,27 +1364,27 @@
</formatter> </formatter>
<!-- Configure the standard encoder --> <!-- Configure the standard encoder -->
<encoder name="html" <encoder name="html"
class="solr.highlight.HtmlEncoder" /> class="solr.highlight.HtmlEncoder" />
<!-- Configure the standard fragListBuilder --> <!-- Configure the standard fragListBuilder -->
<fragListBuilder name="simple" <fragListBuilder name="simple"
class="solr.highlight.SimpleFragListBuilder"/> class="solr.highlight.SimpleFragListBuilder"/>
<!-- Configure the single fragListBuilder --> <!-- Configure the single fragListBuilder -->
<fragListBuilder name="single" <fragListBuilder name="single"
class="solr.highlight.SingleFragListBuilder"/> class="solr.highlight.SingleFragListBuilder"/>
<!-- Configure the weighted fragListBuilder --> <!-- Configure the weighted fragListBuilder -->
<fragListBuilder name="weighted" <fragListBuilder name="weighted"
default="true" default="true"
class="solr.highlight.WeightedFragListBuilder"/> class="solr.highlight.WeightedFragListBuilder"/>
<!-- default tag FragmentsBuilder --> <!-- default tag FragmentsBuilder -->
<fragmentsBuilder name="default" <fragmentsBuilder name="default"
default="true" default="true"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<!-- <!--
<lst name="defaults"> <lst name="defaults">
<str name="hl.multiValuedSeparatorChar">/</str> <str name="hl.multiValuedSeparatorChar">/</str>
</lst> </lst>
@ -1392,7 +1392,7 @@
</fragmentsBuilder> </fragmentsBuilder>
<!-- multi-colored tag FragmentsBuilder --> <!-- multi-colored tag FragmentsBuilder -->
<fragmentsBuilder name="colored" <fragmentsBuilder name="colored"
class="solr.highlight.ScoreOrderFragmentsBuilder"> class="solr.highlight.ScoreOrderFragmentsBuilder">
<lst name="defaults"> <lst name="defaults">
<str name="hl.tag.pre"><![CDATA[ <str name="hl.tag.pre"><![CDATA[
@ -1404,8 +1404,8 @@
<str name="hl.tag.post"><![CDATA[</b>]]></str> <str name="hl.tag.post"><![CDATA[</b>]]></str>
</lst> </lst>
</fragmentsBuilder> </fragmentsBuilder>
<boundaryScanner name="default" <boundaryScanner name="default"
default="true" default="true"
class="solr.highlight.SimpleBoundaryScanner"> class="solr.highlight.SimpleBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
@ -1413,8 +1413,8 @@
<str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str> <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
</lst> </lst>
</boundaryScanner> </boundaryScanner>
<boundaryScanner name="breakIterator" <boundaryScanner name="breakIterator"
class="solr.highlight.BreakIteratorBoundaryScanner"> class="solr.highlight.BreakIteratorBoundaryScanner">
<lst name="defaults"> <lst name="defaults">
<!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE --> <!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE -->
@ -1436,15 +1436,15 @@
http://wiki.apache.org/solr/UpdateRequestProcessor http://wiki.apache.org/solr/UpdateRequestProcessor
--> -->
<!-- Deduplication <!-- Deduplication
An example dedup update processor that creates the "id" field An example dedup update processor that creates the "id" field
on the fly based on the hash code of some other fields. This on the fly based on the hash code of some other fields. This
example has overwriteDupes set to false since we are using the example has overwriteDupes set to false since we are using the
id field as the signatureField and Solr will maintain id field as the signatureField and Solr will maintain
uniqueness based on that anyway. uniqueness based on that anyway.
--> -->
<!-- <!--
<updateRequestProcessorChain name="dedupe"> <updateRequestProcessorChain name="dedupe">
@ -1459,7 +1459,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Language identification <!-- Language identification
This example update chain identifies the language of the incoming This example update chain identifies the language of the incoming
@ -1499,7 +1499,7 @@
<processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain> </updateRequestProcessorChain>
--> -->
<!-- Response Writers <!-- Response Writers
http://wiki.apache.org/solr/QueryResponseWriter http://wiki.apache.org/solr/QueryResponseWriter
@ -1515,7 +1515,7 @@
overridden... overridden...
--> -->
<!-- <!--
<queryResponseWriter name="xml" <queryResponseWriter name="xml"
default="true" default="true"
class="solr.XMLResponseWriter" /> class="solr.XMLResponseWriter" />
<queryResponseWriter name="json" class="solr.JSONResponseWriter"/> <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
@ -1534,18 +1534,18 @@
--> -->
<str name="content-type">text/plain; charset=UTF-8</str> <str name="content-type">text/plain; charset=UTF-8</str>
</queryResponseWriter> </queryResponseWriter>
<!-- <!--
Custom response writers can be declared as needed... Custom response writers can be declared as needed...
--> -->
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"> <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy">
<str name="template.base.dir">${velocity.template.base.dir:}</str> <str name="template.base.dir">${velocity.template.base.dir:}</str>
</queryResponseWriter> </queryResponseWriter>
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.
--> -->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"> <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int> <int name="xsltCacheLifetimeSeconds">5</int>
@ -1553,7 +1553,7 @@
<!-- Query Parsers <!-- Query Parsers
https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html
Multiple QParserPlugins can be registered by name, and then Multiple QParserPlugins can be registered by name, and then
used in either the "defType" param for the QueryComponent (used used in either the "defType" param for the QueryComponent (used
@ -1573,7 +1573,7 @@
--> -->
<!-- example of registering a custom function parser --> <!-- example of registering a custom function parser -->
<!-- <!--
<valueSourceParser name="myfunc" <valueSourceParser name="myfunc"
class="com.mycompany.MyValueSourceParser" /> class="com.mycompany.MyValueSourceParser" />
--> -->
@ -1583,7 +1583,7 @@
when running solr to run with ltr enabled: when running solr to run with ltr enabled:
-Dsolr.ltr.enabled=true -Dsolr.ltr.enabled=true
https://cwiki.apache.org/confluence/display/solr/Learning+To+Rank https://lucene.apache.org/solr/guide/learning-to-rank.html
Query parser is used to rerank top docs with a provided model Query parser is used to rerank top docs with a provided model
--> -->
@ -1597,12 +1597,12 @@
<transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
<int name="connection">jdbc://....</int> <int name="connection">jdbc://....</int>
</transformer> </transformer>
To add a constant value to all docs, use: To add a constant value to all docs, use:
<transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<int name="value">5</int> <int name="value">5</int>
</transformer> </transformer>
If you want the user to still be able to change it with _value:something_ use this: If you want the user to still be able to change it with _value:something_ use this:
<transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
<double name="defaultValue">5</double> <double name="defaultValue">5</double>
@ -1624,7 +1624,7 @@
when running solr to run with ltr enabled: when running solr to run with ltr enabled:
-Dsolr.ltr.enabled=true -Dsolr.ltr.enabled=true
https://cwiki.apache.org/confluence/display/solr/Learning+To+Rank https://lucene.apache.org/solr/guide/learning-to-rank.html
--> -->
<transformer enable="${solr.ltr.enabled:false}" name="features" class="org.apache.solr.ltr.response.transform.LTRFeatureLoggerTransformerFactory"> <transformer enable="${solr.ltr.enabled:false}" name="features" class="org.apache.solr.ltr.response.transform.LTRFeatureLoggerTransformerFactory">
<str name="fvCacheName">QUERY_DOC_FV</str> <str name="fvCacheName">QUERY_DOC_FV</str>

View File

@ -225,7 +225,7 @@ limitations under the License.
<li class="issues"><a href="http://issues.apache.org/jira/browse/SOLR"><span>Issue Tracker</span></a></li> <li class="issues"><a href="http://issues.apache.org/jira/browse/SOLR"><span>Issue Tracker</span></a></li>
<li class="irc"><a href="http://webchat.freenode.net/?channels=#solr"><span>IRC Channel</span></a></li> <li class="irc"><a href="http://webchat.freenode.net/?channels=#solr"><span>IRC Channel</span></a></li>
<li class="mailinglist"><a href="http://wiki.apache.org/solr/UsingMailingLists"><span>Community forum</span></a></li> <li class="mailinglist"><a href="http://wiki.apache.org/solr/UsingMailingLists"><span>Community forum</span></a></li>
<li class="wiki-query-syntax"><a href="https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing"><span>Solr Query Syntax</span></a></li> <li class="wiki-query-syntax"><a href="https://lucene.apache.org/solr/guide/query-syntax-and-parsing.html"><span>Solr Query Syntax</span></a></li>
</ul> </ul>