- Timestamp:
- 2015-06-30T19:17:36+12:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/solr/trunk/src/collect/solr-jdbm-demo/etc/conf/solrconfig.xml
r27850 r30001 30 30 --> 31 31 32 <!-- Set this to 'false' if you want solr to continue working after33 it has encountered an severe configuration error. In a34 production environment, you may want solr to keep working even35 if one handler is mis-configured.36 37 You may also set this to false using by setting the system38 property:39 40 -Dsolr.abortOnConfigurationError=false41 -->42 <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>43 44 32 <!-- Controls what version of Lucene various components of Solr 45 33 adhere to. Generally, you want to use the latest version to … … 47 35 that you fully re-index after changing this setting as it can 48 36 affect both how text is indexed and queried. 49 50 <luceneMatchVersion> LUCENE_33</luceneMatchVersion>51 52 <!-- libdirectives can be used to instruct Solr to load an Jars37 --> 38 <luceneMatchVersion>4.7</luceneMatchVersion> 39 40 <!-- <lib/> directives can be used to instruct Solr to load an Jars 53 41 identified and use them to resolve any "plugins" specified in 54 42 your solrconfig.xml or schema.xml (ie: Analyzers, Request … … 57 45 All directories and paths are resolved relative to the 58 46 instanceDir. 47 48 Please note that <lib/> directives are processed in the order 49 that they appear in your solrconfig.xml file, and are "stacked" 50 on top of each other when building a ClassLoader - so if you have 51 plugin jars with dependencies on other jars, the "lower level" 52 dependency jars should be loaded first. 59 53 60 54 If a "./lib" directory exists in your instanceDir, all files … … 64 58 <lib dir="./lib" /> 65 59 --> 66 <!-- A dir option by itself adds any files found in the directory to 67 the classpath, this is useful for including all jars in a 60 61 <!-- A 'dir' option by itself adds any files found in the directory 62 to the classpath, this is useful for including all jars in a 68 63 directory. 69 --> 70 <lib dir="../../contrib/extraction/lib" /> 71 <!-- When a regex is specified in addition to a directory, only the 64 65 When a 'regex' is specified in addition to a 'dir', only the 72 66 files in that directory which completely match the regex 73 67 (anchored on both ends) will be included. 74 --> 75 <lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" /> 76 <lib dir="../../dist/" regex="apache-solr-clustering-\d.*\.jar" /> 77 <lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> 78 79 <!-- If a dir option (with or without a regex) is used and nothing 80 is found that matches, it will be ignored 81 --> 82 <lib dir="../../contrib/clustering/lib/" /> 83 <lib dir="/total/crap/dir/ignored" /> 84 <!-- an exact path can be used to specify a specific file. This 85 will cause a serious error to be logged if it can't be loaded. 68 69 If a 'dir' option (with or without a regex) is used and nothing 70 is found that matches, a warning will be logged. 71 72 The examples below can be used to load some solr-contribs along 73 with their external dependencies. 74 --> 75 <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" /> 76 <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" /> 77 78 <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" /> 79 <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" /> 80 81 <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" /> 82 <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" /> 83 84 <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" /> 85 <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" /> 86 87 <!-- an exact 'path' can be used instead of a 'dir' to specify a 88 specific jar file. This will cause a serious error to be logged 89 if it can't be loaded. 86 90 --> 87 91 <!-- 88 <lib path="../a-jar-that-does-not-exist.jar" />92 <lib path="../a-jar-that-does-not-exist.jar" /> 89 93 --> 90 94 … … 101 105 <!-- The DirectoryFactory to use for indexes. 102 106 103 solr.StandardDirectoryFactory, the default, is filesystem 104 based. solr.RAMDirectoryFactory is memory based, not 107 solr.StandardDirectoryFactory is filesystem 108 based and tries to pick the best implementation for the current 109 JVM and platform. solr.NRTCachingDirectoryFactory, the default, 110 wraps solr.StandardDirectoryFactory and caches small files in memory 111 for better NRT performance. 112 113 One can force a particular implementation via solr.MMapDirectoryFactory, 114 solr.NIOFSDirectoryFactory, or solr.SimpleFSDirectoryFactory. 115 116 solr.RAMDirectoryFactory is memory based, not 105 117 persistent, and doesn't work with replication. 106 118 --> 107 119 <directoryFactory name="DirectoryFactory" 108 class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/> 109 110 111 <!-- Index Defaults 112 113 Values here affect all index writers and act as a default 114 unless overridden. 115 116 WARNING: See also the <mainIndex> section below for parameters 117 that overfor Solr's main Lucene index. 118 --> 119 <indexDefaults> 120 121 <useCompoundFile>false</useCompoundFile> 122 120 class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"> 121 122 123 <!-- These will be used if you are using the solr.HdfsDirectoryFactory, 124 otherwise they will be ignored. If you don't plan on using hdfs, 125 you can safely remove this section. --> 126 <!-- The root directory that collection data should be written to. --> 127 <str name="solr.hdfs.home">${solr.hdfs.home:}</str> 128 <!-- The hadoop configuration files to use for the hdfs client. --> 129 <str name="solr.hdfs.confdir">${solr.hdfs.confdir:}</str> 130 <!-- Enable/Disable the hdfs cache. --> 131 <str name="solr.hdfs.blockcache.enabled">${solr.hdfs.blockcache.enabled:true}</str> 132 133 </directoryFactory> 134 135 <!-- The CodecFactory for defining the format of the inverted index. 136 The default implementation is SchemaCodecFactory, which is the official Lucene 137 index format, but hooks into the schema to provide per-field customization of 138 the postings lists and per-document values in the fieldType element 139 (postingsFormat/docValuesFormat). Note that most of the alternative implementations 140 are experimental, so if you choose to customize the index format, its a good 141 idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader) 142 before upgrading to a newer version to avoid unnecessary reindexing. 143 --> 144 <codecFactory class="solr.SchemaCodecFactory"/> 145 146 <!-- To enable dynamic schema REST APIs, use the following for <schemaFactory>: 147 148 <schemaFactory class="ManagedIndexSchemaFactory"> 149 <bool name="mutable">true</bool> 150 <str name="managedSchemaResourceName">managed-schema</str> 151 </schemaFactory> 152 153 When ManagedIndexSchemaFactory is specified, Solr will load the schema from 154 he resource named in 'managedSchemaResourceName', rather than from schema.xml. 155 Note that the managed schema resource CANNOT be named schema.xml. If the managed 156 schema does not exist, Solr will create it after reading schema.xml, then rename 157 'schema.xml' to 'schema.xml.bak'. 158 159 Do NOT hand edit the managed schema - external modifications will be ignored and 160 overwritten as a result of schema modification REST API calls. 161 162 When ManagedIndexSchemaFactory is specified with mutable = true, schema 163 modification REST API calls will be allowed; otherwise, error responses will be 164 sent back for these requests. 165 --> 166 <schemaFactory class="ClassicIndexSchemaFactory"/> 167 168 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 169 Index Config - These settings control low-level behavior of indexing 170 Most example settings here show the default value, but are commented 171 out, to more easily see where customizations have been made. 172 173 Note: This replaces <indexDefaults> and <mainIndex> from older versions 174 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> 175 <indexConfig> 176 <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a 177 LimitTokenCountFilterFactory in your fieldType definition. E.g. 178 <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/> 179 --> 180 <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 --> 181 <!-- <writeLockTimeout>1000</writeLockTimeout> --> 182 183 <!-- The maximum number of simultaneous threads that may be 184 indexing documents at once in IndexWriter; if more than this 185 many threads arrive they will wait for others to finish. 186 Default in Solr/Lucene is 8. --> 187 <!-- <maxIndexingThreads>8</maxIndexingThreads> --> 188 189 <!-- Expert: Enabling compound file will use less files for the index, 190 using fewer file descriptors on the expense of performance decrease. 191 Default in Lucene is "true". Default in Solr is "false" (since 3.6) --> 192 <!-- <useCompoundFile>false</useCompoundFile> --> 193 194 <!-- ramBufferSizeMB sets the amount of RAM that may be used by Lucene 195 indexing for buffering added documents and deletions before they are 196 flushed to the Directory. 197 maxBufferedDocs sets a limit on the number of documents buffered 198 before flushing. 199 If both ramBufferSizeMB and maxBufferedDocs is set, then 200 Lucene will flush based on whichever limit is hit first. 201 The default is 100 MB. --> 202 <!-- <ramBufferSizeMB>100</ramBufferSizeMB> --> 203 <!-- <maxBufferedDocs>1000</maxBufferedDocs> --> 204 205 <!-- Expert: Merge Policy 206 The Merge Policy in Lucene controls how merging of segments is done. 207 The default since Solr/Lucene 3.3 is TieredMergePolicy. 208 The default since Lucene 2.3 was the LogByteSizeMergePolicy, 209 Even older versions of Lucene used LogDocMergePolicy. 210 --> 211 <!-- 212 <mergePolicy class="org.apache.lucene.index.TieredMergePolicy"> 213 <int name="maxMergeAtOnce">10</int> 214 <int name="segmentsPerTier">10</int> 215 </mergePolicy> 216 --> 217 218 <!-- Merge Factor 219 The merge factor controls how many segments will get merged at a time. 220 For TieredMergePolicy, mergeFactor is a convenience parameter which 221 will set both MaxMergeAtOnce and SegmentsPerTier at once. 222 For LogByteSizeMergePolicy, mergeFactor decides how many new segments 223 will be allowed before they are merged into one. 224 Default is 10 for both merge policies. 225 --> 226 <!-- 123 227 <mergeFactor>10</mergeFactor> 124 <!-- Sets the amount of RAM that may be used by Lucene indexing 125 for buffering added documents and deletions before they are 126 flushed to the Directory. --> 127 <ramBufferSizeMB>32</ramBufferSizeMB> 128 <!-- If both ramBufferSizeMB and maxBufferedDocs is set, then 129 Lucene will flush based on whichever limit is hit first. 130 --> 131 <!-- <maxBufferedDocs>1000</maxBufferedDocs> --> 132 133 <maxFieldLength>10000</maxFieldLength> 134 <writeLockTimeout>1000</writeLockTimeout> 135 <commitLockTimeout>10000</commitLockTimeout> 136 137 <!-- Expert: Merge Policy 138 139 The Merge Policy in Lucene controls how merging is handled by 140 Lucene. The default in Solr 3.3 is TieredMergePolicy. 141 142 The default in 2.3 was the LogByteSizeMergePolicy, 143 previous versions used LogDocMergePolicy. 144 145 LogByteSizeMergePolicy chooses segments to merge based on 146 their size. The Lucene 2.2 default, LogDocMergePolicy chose 147 when to merge based on number of documents 148 149 Other implementations of MergePolicy must have a no-argument 150 constructor 151 --> 152 <!-- 153 <mergePolicy class="org.apache.lucene.index.TieredMergePolicy"/> 154 --> 228 --> 155 229 156 230 <!-- Expert: Merge Scheduler 157 158 231 The Merge Scheduler in Lucene controls how merges are 159 232 performed. The ConcurrentMergeScheduler (Lucene 2.3 default) … … 164 237 <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/> 165 238 --> 166 239 167 240 <!-- LockFactory 168 241 … … 178 251 simple = SimpleFSLockFactory - uses a plain file for locking 179 252 180 (For backwards compatibility with Solr 1.2, 'simple' is the181 default if not specified.)253 Defaults: 'native' is default for Solr3.6 and later, otherwise 254 'simple' is the default 182 255 183 256 More details on the nuances of each LockFactory... 184 257 http://wiki.apache.org/lucene-java/AvailableLockFactories 185 258 --> 186 <lockType>native</lockType> 187 188 <!-- Expert: Controls how often Lucene loads terms into memory 189 Default is 128 and is likely good for most everyone. 190 --> 191 <!-- <termIndexInterval>256</termIndexInterval> --> 192 </indexDefaults> 193 194 <!-- Main Index 195 196 Values here override the values in the <indexDefaults> section 197 for the main on disk index. 198 --> 199 <mainIndex> 200 201 <useCompoundFile>false</useCompoundFile> 202 <ramBufferSizeMB>32</ramBufferSizeMB> 203 <mergeFactor>10</mergeFactor> 259 <lockType>${solr.lock.type:native}</lockType> 204 260 205 261 <!-- Unlock On Startup … … 208 264 This defeats the locking mechanism that allows multiple 209 265 processes to safely access a lucene index, and should be used 210 with care. 211 212 This is not needed if lock type is ' none' or 'single'266 with care. Default is "false". 267 268 This is not needed if lock type is 'single' 213 269 --> 270 <!-- 214 271 <unlockOnStartup>false</unlockOnStartup> 272 --> 215 273 216 <!-- If true, IndexReaders will be reopened (often more efficient) 217 instead of closed and then opened. 218 --> 219 <reopenReaders>true</reopenReaders> 274 <!-- Expert: Controls how often Lucene loads terms into memory 275 Default is 128 and is likely good for most everyone. 276 --> 277 <!-- <termIndexInterval>128</termIndexInterval> --> 278 279 <!-- If true, IndexReaders will be opened/reopened from the IndexWriter 280 instead of from the Directory. Hosts in a master/slave setup 281 should have this set to false while those in a SolrCloud 282 cluster need to be set to true. Default: true 283 --> 284 <!-- 285 <nrtMode>true</nrtMode> 286 --> 220 287 221 288 <!-- Commit Deletion Policy 222 223 Custom deletion policies can specified here. The class must 289 Custom deletion policies can be specified here. The class must 224 290 implement org.apache.lucene.index.IndexDeletionPolicy. 225 291 226 http://lucene.apache.org/java/2_9_1/api/all/org/apache/lucene/index/IndexDeletionPolicy.html 227 228 The standard Solr IndexDeletionPolicy implementation supports 292 The default Solr IndexDeletionPolicy implementation supports 229 293 deleting index commit points on number of commits, age of 230 294 commit point and optimized status. … … 233 297 of the criteria. 234 298 --> 299 <!-- 235 300 <deletionPolicy class="solr.SolrDeletionPolicy"> 301 --> 236 302 <!-- The number of commit points to be kept --> 237 < str name="maxCommitsToKeep">1</str>303 <!-- <str name="maxCommitsToKeep">1</str> --> 238 304 <!-- The number of optimized commit points to be kept --> 239 < str name="maxOptimizedCommitsToKeep">0</str>305 <!-- <str name="maxOptimizedCommitsToKeep">0</str> --> 240 306 <!-- 241 307 Delete all commit points once they have reached the given age. … … 246 312 <str name="maxCommitAge">1DAY</str> 247 313 --> 314 <!-- 248 315 </deletionPolicy> 316 --> 249 317 250 318 <!-- Lucene Infostream … … 253 321 of detailed information when indexing. 254 322 255 Setting The value to true will instruct the underlying Lucene 256 IndexWriter to write its debugging info the specified file 257 --> 258 <infoStream file="INFOSTREAM.txt">false</infoStream> 259 260 </mainIndex> 323 Setting the value to true will instruct the underlying Lucene 324 IndexWriter to write its info stream to solr's log. By default, 325 this is enabled here, and controlled through log4j.properties. 326 --> 327 <infoStream>true</infoStream> 328 </indexConfig> 329 261 330 262 331 <!-- JMX … … 281 350 <updateHandler class="solr.DirectUpdateHandler2"> 282 351 352 <!-- Enables a transaction log, used for real-time get, durability, and 353 and solr cloud replica recovery. The log can grow as big as 354 uncommitted changes to the index, so use of a hard autoCommit 355 is recommended (see below). 356 "dir" - the target directory for transaction logs, defaults to the 357 solr data directory. --> 358 <updateLog> 359 <str name="dir">${solr.ulog.dir:}</str> 360 </updateLog> 361 283 362 <!-- AutoCommit 284 363 285 Perform a <commit/>automatically under certain conditions.364 Perform a hard commit automatically under certain conditions. 286 365 Instead of enabling autoCommit, consider using "commitWithin" 287 366 when adding documents. … … 292 371 commit before automatically triggering a new commit. 293 372 294 maxTime - Maximum amount of time that is allowed to pass295 since a document was added before automatic ly373 maxTime - Maximum amount of time in ms that is allowed to pass 374 since a document was added before automatically 296 375 triggering a new commit. 297 --> 298 <!-- 299 <autoCommit> 300 <maxDocs>10000</maxDocs> 301 <maxTime>1000</maxTime> 302 </autoCommit> 303 --> 376 openSearcher - if false, the commit causes recent index changes 377 to be flushed to stable storage, but does not cause a new 378 searcher to be opened to make those changes visible. 379 380 If the updateLog is enabled, then it's highly recommended to 381 have some sort of hard autoCommit to limit the log size. 382 --> 383 <autoCommit> 384 <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 385 <openSearcher>false</openSearcher> 386 </autoCommit> 387 388 <!-- softAutoCommit is like autoCommit except it causes a 389 'soft' commit which only ensures that changes are visible 390 but does not ensure that data is synced to disk. This is 391 faster and more near-realtime friendly than a hard commit. 392 --> 393 394 <autoSoftCommit> 395 <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 396 </autoSoftCommit> 304 397 305 398 <!-- Update Related Event Listeners … … 334 427 </listener> 335 428 --> 429 336 430 </updateHandler> 337 431 … … 373 467 --> 374 468 375 469 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 470 Query section - these settings control query time things like caches 471 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> 376 472 <query> 377 473 <!-- Max Boolean Clauses … … 448 544 autowarmCount="0"/> 449 545 546 <!-- custom cache currently used by block join --> 547 <cache name="perSegFilter" 548 class="solr.search.LRUCache" 549 size="10" 550 initialSize="0" 551 autowarmCount="10" 552 regenerator="solr.NoOpRegenerator" /> 553 450 554 <!-- Field Value Cache 451 555 … … 587 691 should behave when processing requests for this SolrCore. 588 692 589 handleSelect affects the behavior of requests such as /select?qt=XXX 693 handleSelect is a legacy option that affects the behavior of requests 694 such as /select?qt=XXX 590 695 591 696 handleSelect="true" will cause the SolrDispatchFilter to process 592 the request and will result in consistent error handling and593 formatting for all types of requests.697 the request and dispatch the query to a handler specified by the 698 "qt" param, assuming "/select" isn't already registered. 594 699 595 700 handleSelect="false" will cause the SolrDispatchFilter to 596 ignore "/select" requests and fallback to using the legacy 597 SolrServlet and it's Solr 1.1 style error formatting 598 --> 599 <requestDispatcher handleSelect="true" > 701 ignore "/select" requests, resulting in a 404 unless a handler 702 is explicitly registered with the name "/select" 703 704 handleSelect="true" is not recommended for new users, but is the default 705 for backwards compatibility 706 --> 707 <requestDispatcher handleSelect="false" > 600 708 <!-- Request Parsing 601 709 … … 607 715 and stream.url parameters for specifying remote streams. 608 716 609 multipartUploadLimitInKB - specifies the max size of717 multipartUploadLimitInKB - specifies the max size (in KiB) of 610 718 Multipart File Uploads that Solr will allow in a Request. 719 720 formdataUploadLimitInKB - specifies the max size (in KiB) of 721 form data (application/x-www-form-urlencoded) sent via 722 POST. You can use POST to pass request parameters not 723 fitting into the URL. 724 725 addHttpRequestToContext - if set to true, it will instruct 726 the requestParsers to include the original HttpServletRequest 727 object in the context map of the SolrQueryRequest under the 728 key "httpRequest". It will not be used by any of the existing 729 Solr components, but may be useful when developing custom 730 plugins. 611 731 612 732 *** WARNING *** … … 617 737 --> 618 738 <requestParsers enableRemoteStreaming="true" 619 multipartUploadLimitInKB="2048000" /> 739 multipartUploadLimitInKB="2048000" 740 formdataUploadLimitInKB="2048" 741 addHttpRequestToContext="false"/> 620 742 621 743 <!-- HTTP Caching … … 678 800 http://wiki.apache.org/solr/SolrRequestHandler 679 801 680 incoming queries will be dispatched to the correct handler681 based on the path or the qt (query type) param.682 683 Names starting with a '/' are accessed with the a path equal to684 the registered name. Names without a leading '/' are accessed685 with: http://host/app/[core/]select?qt=name686 687 If a /select request is processed with out a qt param688 specified, the requestHandler that declares default="true" will689 be used.690 802 Incoming queries will be dispatched to a specific handler by name 803 based on the path specified in the request. 804 805 Legacy behavior: If the request path uses "/select" but no Request 806 Handler has that name, and if handleSelect="true" has been specified in 807 the requestDispatcher, then the Request Handler is dispatched based on 808 the qt parameter. Handlers without a leading '/' are accessed this way 809 like so: http://host/app/[core/]select?qt=name If no qt is 810 given, then the requestHandler that declares default="true" will be 811 used or the one named "standard". 812 691 813 If a Request Handler is declared with startup="lazy", then it will 692 814 not be initialized until the first request that uses it. … … 702 824 queries across multiple shards 703 825 --> 704 <requestHandler name="search" class="solr.SearchHandler" default="true"> 826 <!--<requestHandler name="/select" class="solr.SearchHandler">--> 827 <requestHandler name="/select" class="org.greenstone.solrserver.Greenstone3SearchHandler"> 705 828 <!-- default values for query parameters can be specified, these 706 829 will be overridden by parameters in the request … … 709 832 <str name="echoParams">explicit</str> 710 833 <int name="rows">10</int> 834 <str name="df">text</str> 711 835 </lst> 712 836 <!-- In addition to defaults, "appends" params can be specified … … 764 888 </requestHandler> 765 889 766 <!-- A Robust Example 767 890 <!-- A request handler that returns indented JSON by default --> 891 <!--<requestHandler name="/query" class="solr.SearchHandler">--> 892 <requestHandler name="/query" class="org.greenstone.solrserver.Greenstone3SearchHandler"> 893 <lst name="defaults"> 894 <str name="echoParams">explicit</str> 895 <str name="wt">json</str> 896 <str name="indent">true</str> 897 <str name="df">text</str> 898 </lst> 899 </requestHandler> 900 901 902 <!-- realtime get handler, guaranteed to return the latest stored fields of 903 any document, without the need to commit or open a new searcher. The 904 current implementation relies on the updateLog feature being enabled. 905 906 ** WARNING ** 907 Do NOT disable the realtime get handler at /get if you are using 908 SolrCloud otherwise any leader election will cause a full sync in ALL 909 replicas for the shard in question. Similarly, a replica recovery will 910 also always fetch the complete index from the leader because a partial 911 sync will not be possible in the absence of this handler. 912 --> 913 <requestHandler name="/get" class="solr.RealTimeGetHandler"> 914 <lst name="defaults"> 915 <str name="omitHeader">true</str> 916 <str name="wt">json</str> 917 <str name="indent">true</str> 918 </lst> 919 </requestHandler> 920 921 922 <!-- A Robust Example 923 768 924 This example SearchHandler declaration shows off usage of the 769 925 SearchHandler with many defaults declared … … 779 935 <!-- VelocityResponseWriter settings --> 780 936 <str name="wt">velocity</str> 781 782 937 <str name="v.template">browse</str> 783 938 <str name="v.layout">layout</str> 784 939 <str name="title">Solritas</str> 785 940 941 <!-- Query settings --> 786 942 <str name="defType">edismax</str> 943 <str name="qf"> 944 text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 945 title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0 946 </str> 947 <str name="df">text</str> 948 <str name="mm">100%</str> 787 949 <str name="q.alt">*:*</str> 788 950 <str name="rows">10</str> 789 951 <str name="fl">*,score</str> 952 790 953 <str name="mlt.qf"> 791 954 text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 955 title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0 792 956 </str> 793 <str name="mlt.fl">text,features,name,sku,id,manu,cat </str>957 <str name="mlt.fl">text,features,name,sku,id,manu,cat,title,description,keywords,author,resourcename</str> 794 958 <int name="mlt.count">3</int> 795 959 796 <str name="qf"> 797 text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 798 </str> 799 960 <!-- Faceting defaults --> 800 961 <str name="facet">on</str> 801 962 <str name="facet.field">cat</str> 802 963 <str name="facet.field">manu_exact</str> 964 <str name="facet.field">content_type</str> 965 <str name="facet.field">author_s</str> 803 966 <str name="facet.query">ipod</str> 804 967 <str name="facet.query">GB</str> 805 968 <str name="facet.mincount">1</str> 806 969 <str name="facet.pivot">cat,inStock</str> 970 <str name="facet.range.other">after</str> 807 971 <str name="facet.range">price</str> 808 972 <int name="f.price.facet.range.start">0</int> 809 973 <int name="f.price.facet.range.end">600</int> 810 974 <int name="f.price.facet.range.gap">50</int> 811 <str name="f.price.facet.range.other">after</str> 975 <str name="facet.range">popularity</str> 976 <int name="f.popularity.facet.range.start">0</int> 977 <int name="f.popularity.facet.range.end">10</int> 978 <int name="f.popularity.facet.range.gap">3</int> 812 979 <str name="facet.range">manufacturedate_dt</str> 813 980 <str name="f.manufacturedate_dt.facet.range.start">NOW/YEAR-10YEARS</str> … … 817 984 <str name="f.manufacturedate_dt.facet.range.other">after</str> 818 985 819 820 986 <!-- Highlighting defaults --> 821 987 <str name="hl">on</str> 822 <str name="hl.fl">text features name</str> 988 <str name="hl.fl">content features title name</str> 989 <str name="hl.encoder">html</str> 990 <str name="hl.simple.pre"><b></str> 991 <str name="hl.simple.post"></b></str> 992 <str name="f.title.hl.fragsize">0</str> 993 <str name="f.title.hl.alternateField">title</str> 823 994 <str name="f.name.hl.fragsize">0</str> 824 995 <str name="f.name.hl.alternateField">name</str> 996 <str name="f.content.hl.snippets">3</str> 997 <str name="f.content.hl.fragsize">200</str> 998 <str name="f.content.hl.alternateField">content</str> 999 <str name="f.content.hl.maxAlternateFieldLength">750</str> 1000 1001 <!-- Spell checking defaults --> 1002 <str name="spellcheck">on</str> 1003 <str name="spellcheck.extendedResults">false</str> 1004 <str name="spellcheck.count">5</str> 1005 <str name="spellcheck.alternativeTermCount">2</str> 1006 <str name="spellcheck.maxResultsForSuggest">5</str> 1007 <str name="spellcheck.collate">true</str> 1008 <str name="spellcheck.collateExtendedResults">true</str> 1009 <str name="spellcheck.maxCollationTries">5</str> 1010 <str name="spellcheck.maxCollations">3</str> 825 1011 </lst> 1012 1013 <!-- append spellchecking to our list of components --> 826 1014 <arr name="last-components"> 827 1015 <str>spellcheck</str> 828 1016 </arr> 829 <!--830 <str name="url-scheme">httpx</str>831 -->832 1017 </requestHandler> 833 1018 834 <!-- XML Update Request Handler. 1019 1020 <!-- Update Request Handler. 835 1021 836 1022 http://wiki.apache.org/solr/UpdateXmlMessages 837 1023 838 1024 The canonical Request Handler for Modifying the Index through 839 commands specified using XML .1025 commands specified using XML, JSON, CSV, or JAVABIN 840 1026 841 1027 Note: Since solr1.1 requestHandlers requires a valid content 842 1028 type header if posted in the body. For example, curl now 843 1029 requires: -H 'Content-type:text/xml; charset=utf-8' 844 --> 845 <requestHandler name="/update" 846 class="solr.XmlUpdateRequestHandler"> 1030 1031 To override the request content type and force a specific 1032 Content-type, use the request parameter: 1033 ?update.contentType=text/csv 1034 1035 This handler will pick a response format to match the input 1036 if the 'wt' parameter is not explicit 1037 --> 1038 <requestHandler name="/update" class="solr.UpdateRequestHandler"> 847 1039 <!-- See below for information on defining 848 1040 updateRequestProcessorChains that can be used by name … … 854 1046 </lst> 855 1047 --> 856 </requestHandler> 857 <!-- Binary Update Request Handler 858 http://wiki.apache.org/solr/javabin 859 --> 860 <requestHandler name="/update/javabin" 861 class="solr.BinaryUpdateRequestHandler" /> 862 863 <!-- CSV Update Request Handler 864 http://wiki.apache.org/solr/UpdateCSV 865 --> 866 <requestHandler name="/update/csv" 867 class="solr.CSVRequestHandler" 868 startup="lazy" /> 869 870 <!-- JSON Update Request Handler 871 http://wiki.apache.org/solr/UpdateJSON 872 --> 873 <requestHandler name="/update/json" 874 class="solr.JsonUpdateRequestHandler" 875 startup="lazy" /> 1048 </requestHandler> 1049 1050 <!-- for back compat with clients using /update/json and /update/csv --> 1051 <requestHandler name="/update/json" class="solr.UpdateRequestHandler"> 1052 <lst name="defaults"> 1053 <str name="stream.contentType">application/json</str> 1054 </lst> 1055 </requestHandler> 1056 <requestHandler name="/update/csv" class="solr.UpdateRequestHandler"> 1057 <lst name="defaults"> 1058 <str name="stream.contentType">application/csv</str> 1059 </lst> 1060 </requestHandler> 876 1061 877 1062 <!-- Solr Cell Update Request Handler … … 884 1069 class="solr.extraction.ExtractingRequestHandler" > 885 1070 <lst name="defaults"> 886 <!-- All the main content goes into "text"... if you need to return887 the extracted text or do highlighting, use a stored field. -->888 <str name="fmap.content">text</str>889 1071 <str name="lowernames">true</str> 890 1072 <str name="uprefix">ignored_</str> … … 896 1078 </lst> 897 1079 </requestHandler> 1080 898 1081 899 1082 <!-- Field Analysis Request Handler … … 925 1108 926 1109 An analysis handler that provides a breakdown of the analysis 927 process of provided docu emnts. This handler expects a (single)1110 process of provided documents. This handler expects a (single) 928 1111 content stream with the following format: 929 1112 … … 971 1154 --> 972 1155 <!-- If you wish to hide files under ${solr.home}/conf, explicitly 973 register the ShowFileRequestHandler using: 1156 register the ShowFileRequestHandler using the definition below. 1157 NOTE: The glob pattern ('*') is the only pattern supported at present, *.xml will 1158 not exclude all files ending in '.xml'. Use it to exclude _all_ updates 974 1159 --> 975 1160 <!-- … … 979 1164 <str name="hidden">synonyms.txt</str> 980 1165 <str name="hidden">anotherfile.txt</str> 1166 <str name="hidden">*</str> 981 1167 </lst> 982 1168 </requestHandler> … … 985 1171 <!-- ping/healthcheck --> 986 1172 <requestHandler name="/admin/ping" class="solr.PingRequestHandler"> 1173 <lst name="invariants"> 1174 <str name="q">solrpingquery</str> 1175 </lst> 987 1176 <lst name="defaults"> 988 <str name="qt">search</str>989 <str name="q">solrpingquery</str>990 1177 <str name="echoParams">all</str> 991 1178 </lst> 1179 <!-- An optional feature of the PingRequestHandler is to configure the 1180 handler with a "healthcheckFile" which can be used to enable/disable 1181 the PingRequestHandler. 1182 relative paths are resolved against the data dir 1183 --> 1184 <!-- <str name="healthcheckFile">server-enabled.txt</str> --> 992 1185 </requestHandler> 993 1186 … … 1003 1196 1004 1197 The SolrReplicationHandler supports replicating indexes from a 1005 "master" used for indexing and "s alves" used for queries.1198 "master" used for indexing and "slaves" used for queries. 1006 1199 1007 1200 http://wiki.apache.org/solr/SolrReplication 1008 1201 1009 In the example below, remove the <lst name="master"> section if 1010 this is just a slave and remove the <lst name="slave"> section 1011 if this is just a master. 1012 --> 1013 <!-- 1014 <requestHandler name="/replication" class="solr.ReplicationHandler" > 1202 It is also necessary for SolrCloud to function (in Cloud mode, the 1203 replication handler is used to bulk transfer segments when nodes 1204 are added or need to recover). 1205 1206 https://wiki.apache.org/solr/SolrCloud/ 1207 --> 1208 <requestHandler name="/replication" class="solr.ReplicationHandler" > 1209 <!-- 1210 To enable simple master/slave replication, uncomment one of the 1211 sections below, depending on whether this solr instance should be 1212 the "master" or a "slave". If this instance is a "slave" you will 1213 also need to fill in the masterUrl to point to a real machine. 1214 --> 1215 <!-- 1015 1216 <lst name="master"> 1016 1217 <str name="replicateAfter">commit</str> … … 1018 1219 <str name="confFiles">schema.xml,stopwords.txt</str> 1019 1220 </lst> 1221 --> 1222 <!-- 1020 1223 <lst name="slave"> 1021 <str name="masterUrl">http:// localhost:8983/solr/replication</str>1224 <str name="masterUrl">http://your-master-hostname:8983/solr</str> 1022 1225 <str name="pollInterval">00:00:60</str> 1023 1226 </lst> 1024 </requestHandler>1025 -->1227 --> 1228 </requestHandler> 1026 1229 1027 1230 <!-- Search Components … … 1067 1270 1068 1271 --> 1069 1272 1070 1273 <!-- Spell Check 1071 1274 … … 1077 1280 <searchComponent name="spellcheck" class="solr.SpellCheckComponent"> 1078 1281 1079 <str name="queryAnalyzerFieldType">text Spell</str>1282 <str name="queryAnalyzerFieldType">text_general</str> 1080 1283 1081 1284 <!-- Multiple "Spell Checkers" can be declared and used by this … … 1083 1286 --> 1084 1287 1085 <!-- a spellchecker built from a field of the main index, and 1086 written to disk 1087 --> 1288 <!-- a spellchecker built from a field of the main index --> 1088 1289 <lst name="spellchecker"> 1089 1290 <str name="name">default</str> 1291 <str name="field">text</str> 1292 <str name="classname">solr.DirectSolrSpellChecker</str> 1293 <!-- the spellcheck distance measure used, the default is the internal levenshtein --> 1294 <str name="distanceMeasure">internal</str> 1295 <!-- minimum accuracy needed to be considered a valid spellcheck suggestion --> 1296 <float name="accuracy">0.5</float> 1297 <!-- the maximum #edits we consider when enumerating terms: can be 1 or 2 --> 1298 <int name="maxEdits">2</int> 1299 <!-- the minimum shared prefix when enumerating terms --> 1300 <int name="minPrefix">1</int> 1301 <!-- maximum number of inspections per result. --> 1302 <int name="maxInspections">5</int> 1303 <!-- minimum length of a query term to be considered for correction --> 1304 <int name="minQueryLength">4</int> 1305 <!-- maximum threshold of documents a query term can appear to be considered for correction --> 1306 <float name="maxQueryFrequency">0.01</float> 1307 <!-- uncomment this to require suggestions to occur in 1% of the documents 1308 <float name="thresholdTokenFrequency">.01</float> 1309 --> 1310 </lst> 1311 1312 <!-- a spellchecker that can break or combine words. See "/spell" handler below for usage --> 1313 <lst name="spellchecker"> 1314 <str name="name">wordbreak</str> 1315 <str name="classname">solr.WordBreakSolrSpellChecker</str> 1090 1316 <str name="field">name</str> 1091 <str name="spellcheckIndexDir">spellchecker</str> 1092 <!-- uncomment this to require terms to occur in 1% of the documents in order to be included in the dictionary 1093 <float name="thresholdTokenFrequency">.01</float> 1094 --> 1317 <str name="combineWords">true</str> 1318 <str name="breakWords">true</str> 1319 <int name="maxChanges">10</int> 1095 1320 </lst> 1096 1321 … … 1100 1325 <str name="name">jarowinkler</str> 1101 1326 <str name="field">spell</str> 1327 <str name="classname">solr.DirectSolrSpellChecker</str> 1102 1328 <str name="distanceMeasure"> 1103 1329 org.apache.lucene.search.spell.JaroWinklerDistance 1104 1330 </str> 1105 <str name="spellcheckIndexDir">spellcheckerJaro</str>1106 1331 </lst> 1107 1332 --> … … 1118 1343 <str name="name">freq</str> 1119 1344 <str name="field">lowerfilt</str> 1120 <str name=" spellcheckIndexDir">spellcheckerFreq</str>1345 <str name="classname">solr.DirectSolrSpellChecker</str> 1121 1346 <str name="comparatorClass">freq</str> 1122 <str name="buildOnCommit">true</str>1123 1347 --> 1124 1348 … … 1134 1358 --> 1135 1359 </searchComponent> 1136 1360 1137 1361 <!-- A request handler for demonstrating the spellcheck component. 1138 1362 … … 1150 1374 <requestHandler name="/spell" class="solr.SearchHandler" startup="lazy"> 1151 1375 <lst name="defaults"> 1152 <str name="spellcheck.onlyMorePopular">false</str> 1153 <str name="spellcheck.extendedResults">false</str> 1154 <str name="spellcheck.count">1</str> 1376 <str name="df">text</str> 1377 <!-- Solr will use suggestions from both the 'default' spellchecker 1378 and from the 'wordbreak' spellchecker and combine them. 1379 collations (re-written queries) can include a combination of 1380 corrections from both spellcheckers --> 1381 <str name="spellcheck.dictionary">default</str> 1382 <str name="spellcheck.dictionary">wordbreak</str> 1383 <str name="spellcheck">on</str> 1384 <str name="spellcheck.extendedResults">true</str> 1385 <str name="spellcheck.count">10</str> 1386 <str name="spellcheck.alternativeTermCount">5</str> 1387 <str name="spellcheck.maxResultsForSuggest">5</str> 1388 <str name="spellcheck.collate">true</str> 1389 <str name="spellcheck.collateExtendedResults">true</str> 1390 <str name="spellcheck.maxCollationTries">10</str> 1391 <str name="spellcheck.maxCollations">5</str> 1155 1392 </lst> 1156 1393 <arr name="last-components"> … … 1159 1396 </requestHandler> 1160 1397 1398 <searchComponent name="suggest" class="solr.SuggestComponent"> 1399 <lst name="suggester"> 1400 <str name="name">mySuggester</str> 1401 <str name="lookupImpl">FuzzyLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst --> 1402 <str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory --> 1403 <str name="field">cat</str> 1404 <str name="weightField">price</str> 1405 <str name="suggestAnalyzerFieldType">string</str> 1406 </lst> 1407 </searchComponent> 1408 1409 <requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy"> 1410 <lst name="defaults"> 1411 <str name="suggest">true</str> 1412 <str name="suggest.count">10</str> 1413 </lst> 1414 <arr name="components"> 1415 <str>suggest</str> 1416 </arr> 1417 </requestHandler> 1161 1418 <!-- Term Vector Component 1162 1419 … … 1172 1429 already specified request handlers. 1173 1430 --> 1174 <requestHandler name=" tvrh" class="solr.SearchHandler" startup="lazy">1431 <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"> 1175 1432 <lst name="defaults"> 1433 <str name="df">text</str> 1176 1434 <bool name="tv">true</bool> 1177 1435 </lst> … … 1183 1441 <!-- Clustering Component 1184 1442 1443 You'll need to set the solr.clustering.enabled system property 1444 when running solr to run with clustering enabled: 1445 1446 java -Dsolr.clustering.enabled=true -jar start.jar 1447 1185 1448 http://wiki.apache.org/solr/ClusteringComponent 1186 1187 This relies on third party jars which are notincluded in the 1188 release. To use this component (and the "/clustering" handler) 1189 Those jars will need to be downloaded, and you'll need to set 1190 the solr.cluster.enabled system property when running solr... 1191 1192 java -Dsolr.clustering.enabled=true -jar start.jar 1193 --> 1194 <searchComponent name="clustering" 1449 http://carrot2.github.io/solr-integration-strategies/ 1450 --> 1451 <searchComponent name="clustering" 1195 1452 enable="${solr.clustering.enabled:false}" 1196 1453 class="solr.clustering.ClusteringComponent" > 1197 <!-- Declare an engine -->1198 1454 <lst name="engine"> 1199 <!-- The name, only one can be named "default" --> 1200 <str name="name">default</str> 1201 1202 <!-- Class name of Carrot2 clustering algorithm. 1203 1204 Currently available algorithms are: 1205 1455 <str name="name">lingo</str> 1456 1457 <!-- Class name of a clustering algorithm compatible with the Carrot2 framework. 1458 1459 Currently available open source algorithms are: 1206 1460 * org.carrot2.clustering.lingo.LingoClusteringAlgorithm 1207 1461 * org.carrot2.clustering.stc.STCClusteringAlgorithm 1208 1462 * org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm 1209 1210 See http://project.carrot2.org/algorithms.html for the 1211 algorithm's characteristics. 1463 1464 See http://project.carrot2.org/algorithms.html for more information. 1465 1466 A commercial algorithm Lingo3G (needs to be installed separately) is defined as: 1467 * com.carrotsearch.lingo3g.Lingo3GClusteringAlgorithm 1212 1468 --> 1213 1469 <str name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str> 1214 1470 1215 <!-- Overriding values for Carrot2 default algorithm attributes. 1216 1217 For a description of all available attributes, see: 1218 http://download.carrot2.org/stable/manual/#chapter.components. 1219 Use attribute key as name attribute of str elements 1220 below. These can be further overridden for individual 1221 requests by specifying attribute key as request parameter 1222 name and attribute value as parameter value. 1223 --> 1224 <str name="LingoClusteringAlgorithm.desiredClusterCountBase">20</str> 1225 1226 <!-- Location of Carrot2 lexical resources. 1227 1228 A directory from which to load Carrot2-specific stop words 1229 and stop labels. Absolute or relative to Solr config directory. 1230 If a specific resource (e.g. stopwords.en) is present in the 1231 specified dir, it will completely override the corresponding 1232 default one that ships with Carrot2. 1471 <!-- Override location of the clustering algorithm's resources 1472 (attribute definitions and lexical resources). 1473 1474 A directory from which to load algorithm-specific stop words, 1475 stop labels and attribute definition XMLs. 1233 1476 1234 1477 For an overview of Carrot2 lexical resources, see: 1235 1478 http://download.carrot2.org/head/manual/#chapter.lexical-resources 1236 --> 1237 <str name="carrot.lexicalResourcesDir">clustering/carrot2</str> 1238 1239 <!-- The language to assume for the documents. 1240 1241 For a list of allowed values, see: 1242 http://download.carrot2.org/stable/manual/#section.attribute.lingo.MultilingualClustering.defaultLanguage 1479 1480 For an overview of Lingo3G lexical resources, see: 1481 http://download.carrotsearch.com/lingo3g/manual/#chapter.lexical-resources 1243 1482 --> 1244 <str name=" MultilingualClustering.defaultLanguage">ENGLISH</str>1483 <str name="carrot.resourcesDir">clustering/carrot2</str> 1245 1484 </lst> 1485 1486 <!-- An example definition for the STC clustering algorithm. --> 1246 1487 <lst name="engine"> 1247 1488 <str name="name">stc</str> 1248 1489 <str name="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str> 1490 </lst> 1491 1492 <!-- An example definition for the bisecting kmeans clustering algorithm. --> 1493 <lst name="engine"> 1494 <str name="name">kmeans</str> 1495 <str name="carrot.algorithm">org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm</str> 1249 1496 </lst> 1250 1497 </searchComponent> … … 1263 1510 <lst name="defaults"> 1264 1511 <bool name="clustering">true</bool> 1265 <str name="clustering.engine">default</str>1266 1512 <bool name="clustering.results">true</bool> 1267 <!-- The title field-->1513 <!-- Field name with the logical "title" of a each document (optional) --> 1268 1514 <str name="carrot.title">name</str> 1515 <!-- Field name with the logical "URL" of a each document (optional) --> 1269 1516 <str name="carrot.url">id</str> 1270 <!-- The field to cluster on --> 1271 <str name="carrot.snippet">features</str> 1272 <!-- produce summaries --> 1273 <bool name="carrot.produceSummary">true</bool> 1274 <!-- the maximum number of labels per cluster --> 1275 <!--<int name="carrot.numDescriptions">5</int>--> 1276 <!-- produce sub clusters --> 1277 <bool name="carrot.outputSubClusters">false</bool> 1278 1279 <str name="defType">edismax</str> 1280 <str name="qf"> 1281 text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 1282 </str> 1283 <str name="q.alt">*:*</str> 1284 <str name="rows">10</str> 1285 <str name="fl">*,score</str> 1286 </lst> 1517 <!-- Field name with the logical "content" of a each document (optional) --> 1518 <str name="carrot.snippet">features</str> 1519 <!-- Apply highlighter to the title/ content and use this for clustering. --> 1520 <bool name="carrot.produceSummary">true</bool> 1521 <!-- the maximum number of labels per cluster --> 1522 <!--<int name="carrot.numDescriptions">5</int>--> 1523 <!-- produce sub clusters --> 1524 <bool name="carrot.outputSubClusters">false</bool> 1525 1526 <!-- Configure the remaining request handler parameters. --> 1527 <str name="defType">edismax</str> 1528 <str name="qf"> 1529 text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 1530 </str> 1531 <str name="q.alt">*:*</str> 1532 <str name="rows">10</str> 1533 <str name="fl">*,score</str> 1534 </lst> 1287 1535 <arr name="last-components"> 1288 1536 <str>clustering</str> … … 1303 1551 <lst name="defaults"> 1304 1552 <bool name="terms">true</bool> 1553 <bool name="distrib">false</bool> 1305 1554 </lst> 1306 1555 <arr name="components"> … … 1318 1567 scoring. 1319 1568 --> 1320 <!--1321 1569 <searchComponent name="elevator" class="solr.QueryElevationComponent" > 1322 -->1323 1570 <!-- pick a fieldType to analyze queries --> 1324 1325 <!--1326 1571 <str name="queryFieldType">string</str> 1327 1572 <str name="config-file">elevate.xml</str> 1328 1573 </searchComponent> 1329 --> 1574 1330 1575 <!-- A request handler for demonstrating the elevator component --> 1331 <!--1332 1576 <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy"> 1333 1577 <lst name="defaults"> 1334 1578 <str name="echoParams">explicit</str> 1579 <str name="df">text</str> 1335 1580 </lst> 1336 1581 <arr name="last-components"> … … 1338 1583 </arr> 1339 1584 </requestHandler> 1340 --> 1585 1341 1586 <!-- Highlighting Component 1342 1587 … … 1386 1631 <!-- Configure the standard fragListBuilder --> 1387 1632 <fragListBuilder name="simple" 1388 default="true"1389 1633 class="solr.highlight.SimpleFragListBuilder"/> 1390 1634 1391 1635 <!-- Configure the single fragListBuilder --> 1392 1636 <fragListBuilder name="single" 1393 1637 class="solr.highlight.SingleFragListBuilder"/> 1394 1638 1639 <!-- Configure the weighted fragListBuilder --> 1640 <fragListBuilder name="weighted" 1641 default="true" 1642 class="solr.highlight.WeightedFragListBuilder"/> 1643 1395 1644 <!-- default tag FragmentsBuilder --> 1396 1645 <fragmentsBuilder name="default" … … 1417 1666 </lst> 1418 1667 </fragmentsBuilder> 1668 1669 <boundaryScanner name="default" 1670 default="true" 1671 class="solr.highlight.SimpleBoundaryScanner"> 1672 <lst name="defaults"> 1673 <str name="hl.bs.maxScan">10</str> 1674 <str name="hl.bs.chars">.,!? 	 </str> 1675 </lst> 1676 </boundaryScanner> 1677 1678 <boundaryScanner name="breakIterator" 1679 class="solr.highlight.BreakIteratorBoundaryScanner"> 1680 <lst name="defaults"> 1681 <!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE --> 1682 <str name="hl.bs.type">WORD</str> 1683 <!-- language and country are used when constructing Locale object. --> 1684 <!-- And the Locale object will be used when getting instance of BreakIterator --> 1685 <str name="hl.bs.language">en</str> 1686 <str name="hl.bs.country">US</str> 1687 </lst> 1688 </boundaryScanner> 1419 1689 </highlighting> 1420 1690 </searchComponent> … … 1451 1721 </updateRequestProcessorChain> 1452 1722 --> 1453 1723 1724 <!-- Language identification 1725 1726 This example update chain identifies the language of the incoming 1727 documents using the langid contrib. The detected language is 1728 written to field language_s. No field name mapping is done. 1729 The fields used for detection are text, title, subject and description, 1730 making this example suitable for detecting languages form full-text 1731 rich documents injected via ExtractingRequestHandler. 1732 See more about langId at http://wiki.apache.org/solr/LanguageDetection 1733 --> 1734 <!-- 1735 <updateRequestProcessorChain name="langid"> 1736 <processor class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory"> 1737 <str name="langid.fl">text,title,subject,description</str> 1738 <str name="langid.langField">language_s</str> 1739 <str name="langid.fallback">en</str> 1740 </processor> 1741 <processor class="solr.LogUpdateProcessorFactory" /> 1742 <processor class="solr.RunUpdateProcessorFactory" /> 1743 </updateRequestProcessorChain> 1744 --> 1745 1746 <!-- Script update processor 1747 1748 This example hooks in an update processor implemented using JavaScript. 1749 1750 See more about the script update processor at http://wiki.apache.org/solr/ScriptUpdateProcessor 1751 --> 1752 <!-- 1753 <updateRequestProcessorChain name="script"> 1754 <processor class="solr.StatelessScriptUpdateProcessorFactory"> 1755 <str name="script">update-script.js</str> 1756 <lst name="params"> 1757 <str name="config_param">example config parameter</str> 1758 </lst> 1759 </processor> 1760 <processor class="solr.RunUpdateProcessorFactory" /> 1761 </updateRequestProcessorChain> 1762 --> 1763 1454 1764 <!-- Response Writers 1455 1765 … … 1475 1785 <queryResponseWriter name="php" class="solr.PHPResponseWriter"/> 1476 1786 <queryResponseWriter name="phps" class="solr.PHPSerializedResponseWriter"/> 1477 <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter"/>1478 1787 <queryResponseWriter name="csv" class="solr.CSVResponseWriter"/> 1479 --> 1788 <queryResponseWriter name="schema.xml" class="solr.SchemaXmlResponseWriter"/> 1789 --> 1790 1791 <queryResponseWriter name="json" class="solr.JSONResponseWriter"> 1792 <!-- For the purposes of the tutorial, JSON responses are written as 1793 plain text so that they are easy to read in *any* browser. 1794 If you expect a MIME type of "application/json" just remove this override. 1795 --> 1796 <str name="content-type">text/plain; charset=UTF-8</str> 1797 </queryResponseWriter> 1798 1480 1799 <!-- 1481 1800 Custom response writers can be declared as needed... 1482 1801 --> 1483 <!-- 1484 <queryResponseWriter name="custom" class="com.example.MyResponseWriter"/> 1485 --> 1802 <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"/> 1803 1486 1804 1487 1805 <!-- XSLT response writer transforms the XML output by any xslt file found … … 1518 1836 class="com.mycompany.MyValueSourceParser" /> 1519 1837 --> 1838 1839 1840 <!-- Document Transformers 1841 http://wiki.apache.org/solr/DocTransformers 1842 --> 1843 <!-- 1844 Could be something like: 1845 <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" > 1846 <int name="connection">jdbc://....</int> 1847 </transformer> 1848 1849 To add a constant value to all docs, use: 1850 <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" > 1851 <int name="value">5</int> 1852 </transformer> 1853 1854 If you want the user to still be able to change it with _value:something_ use this: 1855 <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" > 1856 <double name="defaultValue">5</double> 1857 </transformer> 1858 1859 If you are using the QueryElevationComponent, you may wish to mark documents that get boosted. The 1860 EditorialMarkerFactory will do exactly that: 1861 <transformer name="qecBooster" class="org.apache.solr.response.transform.EditorialMarkerFactory" /> 1862 --> 1863 1520 1864 1521 1865 <!-- Legacy config for the admin interface --> 1522 1866 <admin> 1523 1867 <defaultQuery>*:*</defaultQuery> 1524 1525 <!-- configure a healthcheck file for servers behind a1526 loadbalancer1527 -->1528 <!--1529 <healthcheck type="file">server-enabled</healthcheck>1530 -->1531 1868 </admin> 1532 1869
Note:
See TracChangeset
for help on using the changeset viewer.