solr4.3 solrconfig.xml配置文件

前端之家收集整理的这篇文章主要介绍了solr4.3 solrconfig.xml配置文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <config>
  3.  
  4. <!--表示solr底层使用的是lucene版本-->
  5. <luceneMatchVersion>LUCENE_43</luceneMatchVersion>
  6.  
  7.  
  8. <!--表示solr引用包的位置,当dir对应的目录不存在时候,会忽略此属性-->
  9. <libdir="../../../contrib/extraction/lib"regex=".*\.jar"/>
  10. <libdir="../../../dist/"regex="solr-cell-\d.*\.jar"/>
  11.  
  12. <libdir="../../../contrib/clustering/lib/"regex=".*\.jar"/>
  13. <libdir="../../../dist/"regex="solr-clustering-\d.*\.jar"/>
  14.  
  15. <libdir="../../../contrib/langid/lib/"regex=".*\.jar"/>
  16. <libdir="../../../dist/"regex="solr-langid-\d.*\.jar"/>
  17.  
  18. <libdir="../../../contrib/velocity/lib"regex=".*\.jar"/>
  19. <libdir="../../../dist/"regex="solr-velocity-\d.*\.jar"/>
  20.  
  21. <libdir="/non/existent/dir/yields/warning"/>
  22.  
  23. <!--定义了索引数据和日志文件的存放位置-->
  24. <dataDir>${solr.data.dir:}</dataDir>
  25.  
  26.  
  27. <!--
  28.  
  29. 索引存储方案,共有以下存储方案
  30. 1、solr.StandardDirectoryFactory,这是一个基于文件系统存储目录的工厂,它会试图选择最好的实现基于你当前的操作系统和Java虚拟机版本。
  31. 2、solr.SimpleFSDirectoryFactory,适用于小型应用程序,不支持大数据和多线程。
  32. 3、solr.NIOFSDirectoryFactory,适用于多线程环境,但是不适用在windows平台(很慢),是因为JVM还存在bug。
  33. 4、solr.MMapDirectoryFactory,这个是solr3.1到4.0版本在linux64位系统下默认的实现。它是通过使用虚拟内存和内核特性调用
  34. mmap去访问存储在磁盘中的索引文件。它允许lucene或solr直接访问I/O缓存。如果不需要近实时搜索功能,使用此工厂是个不错的方案。
  35. 5、solr.NRTCachingDirectoryFactory,此工厂设计目的是存储部分索引在内存中,从而加快了近实时搜索的速度。
  36. 6、solr.RAMDirectoryFactory,这是一个内存存储方案,不能持久化存储,在系统重启或服务器crash时数据会丢失。且不支持索引复制
  37. <directoryFactoryclass="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"name="DirectoryFactory">
  38. <strname="solr.hdfs.home">${solr.hdfs.home:}</str>
  39. <strname="solr.hdfs.confdir">${solr.hdfs.confdir:}</str>
  40. <strname="solr.hdfs.blockcache.enabled">${solr.hdfs.blockcache.enabled:true}</str>
  41. <strname="solr.hdfs.blockcache.global">${solr.hdfs.blockcache.global:true}</str>
  42. </directoryFactory>
  43. -->
  44. <directoryFactoryname="DirectoryFactory"
  45. class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
  46.  
  47. <!--
  48. 编解码工厂允许使用自定义的编解码器。例如:如果想启动per-fieldDocValues格式,可以在solrconfig.xml里面设置SchemaCodecFactory:
  49. docValuesFormat="Lucene42":这是默认设置,所有数据会被加载到堆内存中。
  50. docValuesFormat="Disk":这是另外一个实现,将部分数据存储在磁盘上。
  51. docValuesFormat="SimpleText":文本格式,非常慢,用于学习。
  52.  
  53. 定义的格式的CodecFactory反向索引。SchemaCodecFactory默认实现,这是官方的Lucene指数格式,但挂钩的模式提供域定制
  54. 帖子列表和每个文档的值在fieldType元素(postingsFormat/docValuesFormat)。注意,大多数的替代实现
  55. 实验,所以如果你选择定制索引格式,它的好想法通过IndexWriter.addIndexes转换回官方格式如(IndexReader)
  56. 升级到新版本之前,以避免不必要的改变符号。
  57. 当指定ManagedIndexSchemaFactory作为Solr为加载的模式。他在“managedSchemaResourceName”资源命名,而不是schema.xml。
  58. 注意,资源不能叫schema.xml管理模式。如果管理模式不存在,Solr将创建它在阅读模式。xml,然后重命名”模式。xml的“schema.xml.bak”。
  59. 不要手动编辑管理模式――外部修改将被忽略和覆盖的模式修改RESTAPI调用
  60. 当指定ManagedIndexSchemaFactory可变=true,模式RESTAPI调用将被允许修改,否则,错误响应为这些请求返回。
  61. -->
  62. <codecFactoryclass="solr.SchemaCodecFactory"/>
  63. <schemaFactoryclass="ClassicIndexSchemaFactory"/>
  64.  
  65. <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  66. IndexConfig-Thesesettingscontrollow-levelbehaviorofindexing
  67. Mostexamplesettingshereshowthedefaultvalue,butarecommented
  68. out,tomoreeasilyseewherecustomizationshavebeenmade.
  69.  
  70. Note:Thisreplaces<indexDefaults>and<mainIndex>fromolderversions
  71. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  72. 用于设置索引的低级别的属性
  73. -->
  74. <indexConfig>
  75. <!--IndexWriter等待解锁的最长时间(毫秒)-->
  76. <writeLockTimeout>1000</writeLockTimeout>
  77.  
  78. <!--
  79. 同步线程的最大数量索引文件立刻IndexWriter;如果超过这一点许多线程到达他们将等待其他人完成。
  80. 默认Solr/Lucene是8。-->
  81. <maxIndexingThreads>8</maxIndexingThreads>
  82.  
  83. <!--Expert:Enablingcompoundfilewilluselessfilesfortheindex,usingfewerfiledescriptorsontheexpenSEOfperformancedecrease.
  84. DefaultinLuceneis"true".DefaultinSolris"false"(since3.6)
  85. 使复合文件将使用更少的文件的索引,使用更少的文件描述符为代价的性能下降。默认在Lucene是'true'。默认Solr是'false'
  86. -->
  87. <useCompoundFile>false</useCompoundFile>
  88.  
  89. <!--
  90. solr缓存:两个同时定义时命中较低的那个。
  91. ramBufferSizeMB集的数量可能使用Lucene的RAM索引缓冲文件添加删除之前刷新到该目录。
  92. maxBufferedDocs集限制文件缓冲的数量在冲洗之前。
  93. 如果ramBufferSizeMB和maxBufferedDocs设置Lucene将刷新基于任何限制是最先受到冲击。
  94. -->
  95. <ramBufferSizeMB>100</ramBufferSizeMB>
  96. <maxBufferedDocs>1000</maxBufferedDocs>
  97.  
  98. <!--
  99. 合并策略
  100. 合并因素控制有多少段会合并。
  101. TieredMergePolicy,合并因子是一个方便的参数
  102. 将MaxMergeAtOnce和SegmentsPerTier。
  103. LogByteSizeMergePolicy,合并因子决定有多少新领域可以合并成一个。
  104. 默认都是10合并政策。
  105. -->
  106.  
  107. <mergePolicyclass="org.apache.lucene.index.TieredMergePolicy">
  108. <intname="maxMergeAtOnce">10</int>
  109. <intname="segmentsPerTier">10</int>
  110. </mergePolicy>
  111. <!--合并因子,每次合并多少个segments-->
  112. <mergeFactor>10</mergeFactor>
  113.  
  114. <!--
  115. 合并调度器
  116. Lucene控制合并的合并调度器
  117. 执行。ConcurrentMergeScheduler(Lucene2.3默认)
  118. 可以使用单独的线程在后台执行合并。
  119. SerialMergeScheduler(Lucene2.2默认)没有。
  120. -->
  121. <mergeSchedulerclass="org.apache.lucene.index.ConcurrentMergeScheduler"/>
  122.  
  123. <!--
  124. 设置索引库的锁方式,主要有三种:
  125. 1.single:适用于只读的索引库,即索引库是定死的,不会再更改
  126. 2.native:使用本地操作系统的文件锁方式,不能用于多个solr服务共用同一个索引库。Solr3.6及后期版本使用的默认锁机制。
  127. 3.simple:使用简单的文件锁机制
  128. -->
  129. <lockType>${solr.lock.type:native}</lockType>
  130.  
  131. <!--
  132. 是否启动时先解锁
  133. 如果这是真的,开启任何写或提交锁在启动时举行。
  134. 这违背了安全锁定机制,允许多个进程访问一个lucene索引,并且应该小心使用。默认设置是“false”。
  135. 这是不需要如果锁类型是'single'
  136. -->
  137. <unlockOnStartup>false</unlockOnStartup>
  138.  
  139. <!--
  140. Luceneloadstermsintomemory间隔
  141. 控制频率Lucene加载到内存中
  142. 默认是128,可能对大多数情况都有益。
  143. -->
  144. <termIndexInterval>128</termIndexInterval>
  145.  
  146. <!--
  147. 重新打开,替代先关闭-再打开
  148. 如果这是truw,indexreader将重新开放(通常更有效),而不是关闭,然后打开。默认值:真正的
  149. -->
  150. <reopenReaders>true</reopenReaders>
  151.  
  152. <!--
  153. 提交删除策略
  154. 可以指定自定义删除策略。类必须实现org.apache.lucene.index.IndexDeletionPolicy。
  155. 默认SolrIndexDeletionPolicy实现支持删除索引提交点提交,优化状态。
  156. 最新提交点应该保存regardlessof标准。
  157. -->
  158. <deletionPolicyclass="solr.SolrDeletionPolicy">
  159. <!--提交的数量保持-->
  160. <strname="maxCommitsToKeep">1</str>
  161. <!--优化的数量提交保存-->
  162. <strname="maxOptimizedCommitsToKeep">0</str>
  163. <!--
  164. 删除所有提交点一旦达到给定的有效期
  165. -->
  166. <strname="maxCommitAge">30MINUTES</str>
  167. <strname="maxCommitAge">1DAY</str>
  168.  
  169. </deletionPolicy>
  170.  
  171. <!--LuceneInfostream
  172.  
  173. Toaidinadvanceddebugging,Luceneprovidesan"InfoStream"
  174. ofdetailedinformationwhenindexing.
  175.  
  176. SettingThevaluetotruewillinstructtheunderlyingLucene
  177. IndexWritertowriteitsdebugginginfothespecifiedfile
  178. -->
  179. <!--<infoStreamfile="INFOSTREAM.txt">false</infoStream>-->
  180. </indexConfig>
  181.  
  182.  
  183. <!--JMX
  184. 这个例子使JMX当且仅当发现现有的MBeanServer,使用这个如果你想配置JMX通过JVM参数。
  185. 删除此禁用暴露Solr配置JMX和统计
  186. -->
  187. <jmx/>
  188. <!--<jmxagentId="myAgent"/>-->
  189. <!--<jmxserviceUrl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr"/>-->
  190.  
  191. <!--Thedefaulthigh-performanceupdatehandler-->
  192. <updateHandlerclass="solr.DirectUpdateHandler2">
  193.  
  194. <!--
  195. 设置索引库更新日志,默认路径为solrhome下面的data/tlog。随着索引库的频繁更新,tlog文件会越来越大,
  196. 所以建议提交索引时采用硬提交方式<autoCommit>,即批量提交。
  197. -->
  198. <updateLog>
  199. <strname="dir">${solr.ulog.dir:}</str>
  200. </updateLog>
  201.  
  202. <!--自动硬提交方式
  203.  
  204. maxTime:设置多长时间提交一次maxDocs:设置达到多少文档提交一次openSearcher:文档提交后是否开启新的searcher,
  205. 如果false,文档只是提交到index索引库,搜索结果中搜不到此次提交的文档;如果true,既提交到index索引库,也能在搜索结果中搜到此次提交的内容
  206. 提交自动在一定条件下执行困难。
  207. 启用自动提交,而是考虑使用“commitWithin”当添加文档。
  208. maxDocs-最大数量的文档添加自上次提交之前自动触发一个新提交。
  209. maxTime――最大的时间以来,可以通过文档添加之前自动触发一个新提交。单位ms
  210. opensearch――如果错误,提交导致最近的指数变化刷新到稳定的存储,但不会导致一个新的搜索器被打开,使这些变化明显。
  211. 如果启用了updateLog,那么强烈建议有一些很难自动提交日志大小限制。
  212. -->
  213. <autoCommit>
  214. <maxTime>15000</maxTime>
  215. <openSearcher>false</openSearcher>
  216. </autoCommit>
  217.  
  218. <!--
  219. 软提交VS硬提交:只要其中一个
  220. softAutoCommit就像autoCommit除了它会导致一个“软”提交,只有确保变化是可见的,但不保证数据同步到磁盘。
  221. 这是更快和更接近实时的友好比硬提交。
  222. -->
  223. <autoSoftCommit>
  224. <maxTime>1000</maxTime>
  225. </autoSoftCommit>
  226.  
  227. <!--
  228. 更新相关事件监听器:
  229. 各种IndexWriter相关事件可以触发听众采取行动。
  230. postCommit――每次提交或优化命令之后
  231. postOptimize――每一个优化命令后
  232.  
  233. RunExecutableListener执行外部命令从一个钩postCommit或postOptimize等。
  234. exe-运行可执行文件名称
  235. dir-dir作为当前工作目录。(默认=“.”当前目录)
  236. wait-调用线程等待等到可执行的回报。(默认="true")
  237. args-传递给程序的参数。(默认没有)
  238. env-环境变量设置。(默认没有)
  239. -->
  240. <!--
  241. <listenerevent="postCommit"class="solr.RunExecutableListener">
  242. <strname="exe">solr/bin/snapshooter</str>
  243. <strname="dir">.</str>
  244. <boolname="wait">true</bool>
  245. <arrname="args"><str>arg1</str><str>arg2</str></arr>
  246. <arrname="env"><str>MYVAR=val1</str></arr>
  247. </listener>
  248. -->
  249.  
  250. </updateHandler>
  251.  
  252. <!--IndexReaderFactory
  253.  
  254. UsethefollowingformattospecifyacustomIndexReaderFactory,whichallowsforalternateIndexReaderimplementations.
  255.  
  256. **ExperimentalFeature**
  257.  
  258. Pleasenote-UsingacustomIndexReaderFactorymayprevent
  259. certainotherfeaturesfromworking.TheAPIto
  260. IndexReaderFactorymaychangewithoutwarningormayevenbe
  261. removedfromfuturereleasesiftheproblemscannotbe
  262. resolved.
  263.  
  264.  
  265. **FeaturesthatmaynotworkwithcustomIndexReaderFactory**
  266.  
  267. TheReplicationHandlerassumesadisk-residentindex.Usinga
  268. customIndexReaderimplementationmaycauseincompatibility
  269. withReplicationHandlerandmaycausereplicationtonotwork
  270. correctly.SeeSOLR-1366fordetails.
  271.  
  272. -->
  273. <!--
  274. <indexReaderFactoryname="IndexReaderFactory"class="package.class">
  275. <strname="someArg">SomeValue</str>
  276. </indexReaderFactory>
  277. -->
  278. <!--ByexplicitlydeclaringtheFactory,thetermIndexDivisorcan
  279. bespecified.
  280. -->
  281. <!--
  282. <indexReaderFactoryname="IndexReaderFactory"
  283. class="solr.StandardIndexReaderFactory">
  284. <intname="setTermIndexDivisor">12</int>
  285. </indexReaderFactory>
  286. -->
  287.  
  288. <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  289. Querysection-thesesettingscontrolquerytimethingslikecaches
  290. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
  291. <query>
  292. <!--MaxBooleanClauses
  293.  
  294. 设置boolean查询中,最大条件数。在范围搜索或者前缀搜索时,会产生大量的boolean条件,
  295. 如果条件数达到这个数值时,将抛出异常,限制这个条件数,可以防止条件过多查询等待时间过长。
  296. -->
  297. <maxBooleanClauses>1024</maxBooleanClauses>
  298.  
  299.  
  300. <!--SOLR查询缓存
  301.  
  302. 有两个可用的缓存实现Solr,LRUCache基于同步LinkedHashMap,FastLRUCache基于一个ConcurrentHashMap。
  303. FastLRUCache有更快的获得和单线程的操作,因此通常将放缓速度比LRUCache当缓存的命中率很高(>75%),并可能在其他场景在多cpu系统快。
  304. -->
  305.  
  306. <!--
  307. 过滤器缓存
  308. 缓存被SolrIndexSearcher过滤器(DocSets),无序的**文档匹配查询
  309. 当一个新搜索器打开,其缓存可能或“hit”使用数据缓存来填充在旧的搜索者。
  310. autowarmCount是取自预填充的项的数量
  311. LRUCache,hit物品将最近访问过的物品。
  312. 参数:
  313. class-LRUCache是SolrCache实现或(LRUCache或FastLRUCache)
  314. size-在缓存条目的最大数量
  315. initialSize-初始容量(缓存条目的数量)。(见java.util.HashMap)
  316. autowarmCount-取自条目的数量从老缓存预填充。
  317. -->
  318. <filterCacheclass="solr.FastLRUCache"
  319. size="512"
  320. initialSize="512"
  321. autowarmCount="0"/>
  322.  
  323. <!--
  324. 查询结果缓存
  325. 缓存的搜索结果――有序列表的文档id(DocList)基于查询,排序,和文件要求的范围。
  326. -->
  327. <queryResultCacheclass="solr.LRUCache"
  328. size="512"
  329. initialSize="512"
  330. autowarmCount="0"/>
  331.  
  332. <!--
  333. 文件缓存
  334. 缓存Lucene文档对象(存储为每个文档字段)。由于Lucene内部文档id是瞬态的,这个缓存不会hit。
  335. -->
  336. <documentCacheclass="solr.LRUCache"
  337. size="512"
  338. initialSize="512"
  339. autowarmCount="0"/>
  340.  
  341. <!--字段值缓存
  342. 缓存用来保存字段值快速访问的文档id。fieldValueCache创建默认情况下即使没有配置。
  343. -->
  344. <fieldValueCacheclass="solr.FastLRUCache"
  345. size="512"
  346. autowarmCount="128"
  347. showItems="32"/>
  348.  
  349. <!--自定义缓存
  350.  
  351. Exampleofagenericcache.Thesecachesmaybeaccessedby
  352. namethroughSolrIndexSearcher.getCache(),cacheLookup(),and
  353. cacheInsert().Thepurposeistoenableeasycachingof
  354. user/applicationleveldata.Theregeneratorargumentshould
  355. bespecifiedasanimplementationofsolr.CacheRegenerator
  356. ifautowarmingisdesired.
  357. -->
  358. <!--
  359. <cachename="myUserCache"
  360. class="solr.LRUCache"
  361. size="4096"
  362. initialSize="1024"
  363. autowarmCount="1024"
  364. regenerator="com.mycompany.MyRegenerator"
  365. />
  366. -->
  367.  
  368.  
  369. <!--
  370. 懒散字段加载
  371. 如果这是真的,存储字段不要求将装载。
  372. 这可能导致明显的速度提升如果通常的情况下是不加载所有存储字段,特别是如果跳过字段压缩的文本字段。
  373. -->
  374. <enableLazyFieldLoading>true</enableLazyFieldLoading>
  375.  
  376. <!--UseFilterForSortedQuery
  377.  
  378. Apossibleoptimizationthatattemptstouseafilterto
  379. satisfyasearch.Iftherequestedsortdoesnotinclude
  380. score,thenthefilterCachewillbecheckedforafilter
  381. matchingthequery.Iffound,thefilterwillbeusedasthe
  382. sourceofdocumentids,andthenthesortwillbeappliedto
  383. that.
  384.  
  385. Formostsituations,thiswillnotbeusefulunlessyou
  386. frequentlygetthesamesearchrepeatedlywithdifferentsort
  387. options,andnoneofthemeveruse"score"
  388. -->
  389. <!--
  390. <useFilterForSortedQuery>true</useFilterForSortedQuery>
  391. -->
  392.  
  393. <!--ResultWindowSize
  394.  
  395. AnoptimizationforusewiththequeryResultCache.Whenasearch
  396. isrequested,asupersetoftherequestednumberofdocumentids
  397. arecollected.Forexample,ifasearchforaparticularquery
  398. requestsmatchingdocuments10through19,andqueryWindowSizeis50,thendocuments0through49willbecollectedandcached.Anyfurther
  399. requestsinthatrangecanbesatisfiedviathecache.
  400. -->
  401. <queryResultWindowSize>20</queryResultWindowSize>
  402.  
  403. <!--Maximumnumberofdocumentstocacheforanyentryinthe
  404. queryResultCache.
  405. -->
  406. <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
  407.  
  408. <!--QueryRelatedEventListeners
  409.  
  410. VarIoUsIndexSearcherrelatedeventscantriggerListenersto
  411. takeactions.
  412.  
  413. newSearcher-firedwheneveranewsearcherisbeingprepared
  414. andthereisacurrentsearcherhandlingrequests(aka
  415. registered).Itcanbeusedtoprimecertaincachesto
  416. preventlongrequesttimesforcertainrequests.
  417.  
  418. firstSearcher-firedwheneveranewsearcherisbeing
  419. preparedbutthereisnocurrentregisteredsearchertohandle
  420. requestsortogainautowarmingdatafrom.
  421.  
  422.  
  423. -->
  424. <!--QuerySenderListenertakesanarrayofNamedListandexecutesa
  425. localqueryrequestforeachNamedListinsequence.
  426. -->
  427. <listenerevent="newSearcher"class="solr.QuerySenderListener">
  428. <arrname="queries">
  429. <!--
  430. <lst><strname="q">solr</str><strname="sort">priceasc</str></lst>
  431. <lst><strname="q">rocks</str><strname="sort">weightasc</str></lst>
  432. -->
  433. </arr>
  434. </listener>
  435. <listenerevent="firstSearcher"class="solr.QuerySenderListener">
  436. <arrname="queries">
  437. <lst>
  438. <strname="q">staticfirstSearcherwarminginsolrconfig.xml</str>
  439. </lst>
  440. </arr>
  441. </listener>
  442.  
  443. <!--
  444. solr默认为false。如果为true,索引文件减少,检索性能降低,追求平衡
  445. -->
  446. <useColdSearcher>false</useColdSearcher>
  447.  
  448. <!--
  449. 最大热搜索
  450. 最大数量的同时在后台搜索,可能会变慢。返回一个错误如果超过这个限制。
  451. 推荐1-2的值对于只读从盘,高主盘w/o缓存变暖。
  452. -->
  453. <maxWarmingSearchers>2</maxWarmingSearchers>
  454.  
  455. </query>
  456.  
  457.  
  458. <!--请求转发器
  459. 主要是介绍当有请求访问SolrCore时SolrDispatchFilter如何处理。
  460. handleSelect是一个以前版本中遗留下来的属性,会影响请求的对应行为(比如/select?qt=XXX)。
  461. 当handleSelect="true"时导致SolrDispatchFilter将请求转发给qt指定的处理器(前提是/select已经注册)。
  462. 当handleSelect="false"时会直接访问/select,若/select未注册则为404
  463. -->
  464. <requestDispatcherhandleSelect="false">
  465. <!--请求解析
  466. 这些设置说明SolrRequests如何被解析,以及对ContentStreams有什么限制。
  467. enableRemoteStreaming-是否允许使用stream.file和stream.url参数来指定远程streams。
  468. multipartUploadLimitInKB-指定多文件上传时Solr允许的最大的size。
  469. formdataUploadLimitInKB-表单通过POST请求发送的最大size
  470. ******的警告
  471. 下面的设置授权Solr获取远程文件,你
  472. 应该确保你的系统有一些认证吗
  473. 使用enableRemoteStreaming="true"
  474.  
  475. -->
  476. <requestParsersenableRemoteStreaming="true"
  477. multipartUploadLimitInKB="2048000"
  478. formdataUploadLimitInKB="2048"/>
  479.  
  480. <!--HTTPCaching
  481. 设置HTTP缓存的相关参数。
  482. -->
  483. <httpCachingnever304="true"/>
  484. <!--Ifyouincludea<cacheControl>directive,itwillbeusedto
  485. generateaCache-Controlheader(aswellasanExpiresheader
  486. ifthevaluecontains"max-age=")
  487.  
  488. Bydefault,noCache-Controlheaderisgenerated.
  489.  
  490. Youcanusethe<cacheControl>optionevenifyouhaveset
  491. never304="true"
  492. -->
  493. <!--
  494. <httpCachingnever304="true">
  495. <cacheControl>max-age=30,public</cacheControl>
  496. </httpCaching>
  497. -->
  498. <!--ToenableSolrtorespondwithautomaticallygeneratedHTTP
  499. Cachingheaders,andtoresponsetoCacheValidationrequests
  500. correctly,setthevalueofnever304="false"
  501.  
  502. ThiswillcauseSolrtogenerateLast-ModifiedandETag
  503. headersbasedonthepropertiesoftheIndex.
  504.  
  505. Thefollowingoptionscanalsobespecifiedtoaffectthe
  506. valuesoftheseheaders...
  507.  
  508. lastModFrom-thedefaultvalueis"openTime"whichmeansthe
  509. Last-Modifiedvalue(andvalidationagainstIf-Modified-Since
  510. requests)willallberelativetowhenthecurrentSearcher
  511. wasopened.YoucanchangeittolastModFrom="dirLastMod"if
  512. youwantthevaluetoexactlycorrespondtowhenthephysical
  513. indexwaslastmodified.
  514.  
  515. etagSeed="..."isanoptionyoucanchangetoforcetheETag
  516. header(andvalidationagainstIf-None-Matchrequests)tobe
  517. differenteveniftheindexhasnotchanged(ie:whenmaking
  518. significantchangestoyourconfigfile)
  519.  
  520. (lastModifiedFromandetagSeedarebothignoredifyouuse
  521. thenever304="true"option)
  522. -->
  523. <!--
  524. <httpCachinglastModifiedFrom="openTime"
  525. etagSeed="Solr">
  526. <cacheControl>max-age=30,public</cacheControl>
  527. </httpCaching>
  528. -->
  529. </requestDispatcher>
  530.  
  531. <!--RequestHandlers
  532. 输入的请求会通过请求中的路径被转发到特定的处理器。
  533. -->
  534. <!--SearchHandler
  535.  
  536. 基本的请求处理器是SearchHandler,它提供一系列SearchComponents。
  537. 通过multipleshards支持分布式。
  538. -->
  539. <requestHandlername="/select"class="solr.SearchHandler">
  540. <!--可以指定默认值。-->
  541. <lstname="defaults">
  542. <strname="echoParams">explicit</str>
  543. <intname="rows">10</int>
  544. <strname="df">text</str>
  545. </lst>
  546. <!--添加属性-->
  547. <!--
  548. <lstname="appends">
  549. <strname="fq">inStock:true</str>
  550. </lst>
  551. -->
  552. <!--用法同上,尽量不要使用。-->
  553. <!--
  554. <lstname="invariants">
  555. <strname="facet.field">cat</str>
  556. <strname="facet.field">manu_exact</str>
  557. <strname="facet.query">price:[*TO500]</str>
  558. <strname="facet.query">price:[500TO*]</str>
  559. </lst>
  560. -->
  561. <!--下面的配置可以重置SearchComponents-->
  562. <!--
  563. <arrname="components">
  564. <str>nameOfCustomComponent1</str>
  565. <str>nameOfCustomComponent2</str>
  566. </arr>
  567. -->
  568. </requestHandler>
  569.  
  570. <!--ArequesthandlerthatreturnsindentedJSONbydefault-->
  571. <requestHandlername="/query"class="solr.SearchHandler">
  572. <lstname="defaults">
  573. <strname="echoParams">explicit</str>
  574. <strname="wt">json</str>
  575. <strname="indent">true</str>
  576. <strname="df">text</str>
  577. </lst>
  578. </requestHandler>
  579.  
  580.  
  581. <!--realtimegethandler,guaranteedtoreturnthelateststoredfieldsof
  582. anydocument,withouttheneedtocommitoropenanewsearcher.The
  583. currentimplementationreliesontheupdateLogfeaturebeingenabled.-->
  584. <requestHandlername="/get"class="solr.RealTimeGetHandler">
  585. <lstname="defaults">
  586. <strname="omitHeader">true</str>
  587. <strname="wt">json</str>
  588. <strname="indent">true</str>
  589. </lst>
  590. </requestHandler>
  591.  
  592.  
  593. <!--ARobustExample
  594.  
  595. ThisexampleSearchHandlerdeclarationshowsoffusageofthe
  596. SearchHandlerwithmanydefaultsdeclared
  597.  
  598. NotethatmultipleinstancesofthesameRequestHandler
  599. (SearchHandler)canberegisteredmultipletimeswithdifferent
  600. names(anddifferentinitparameters)
  601. -->
  602. <requestHandlername="/browse"class="solr.SearchHandler">
  603. <lstname="defaults">
  604. <strname="echoParams">explicit</str>
  605.  
  606. <!--VelocityResponseWritersettings-->
  607. <strname="wt">velocity</str>
  608. <strname="v.template">browse</str>
  609. <strname="v.layout">layout</str>
  610. <strname="title">Solritas</str>
  611.  
  612. <!--Querysettings-->
  613. <strname="defType">edismax</str>
  614. <strname="qf">
  615. text^0.5features^1.0name^1.2sku^1.5id^10.0manu^1.1cat^1.4
  616. title^10.0description^5.0keywords^5.0author^2.0resourcename^1.0
  617. </str>
  618. <strname="df">text</str>
  619. <strname="mm">100%</str>
  620. <strname="q.alt">*:*</str>
  621. <strname="rows">10</str>
  622. <strname="fl">*,score</str>
  623.  
  624. <strname="mlt.qf">
  625. text^0.5features^1.0name^1.2sku^1.5id^10.0manu^1.1cat^1.4
  626. title^10.0description^5.0keywords^5.0author^2.0resourcename^1.0
  627. </str>
  628. <strname="mlt.fl">text,features,name,sku,id,manu,cat,title,description,keywords,author,resourcename</str>
  629. <intname="mlt.count">3</int>
  630.  
  631. <!--Facetingdefaults-->
  632. <strname="facet">on</str>
  633. <strname="facet.field">cat</str>
  634. <strname="facet.field">manu_exact</str>
  635. <strname="facet.field">content_type</str>
  636. <strname="facet.field">author_s</str>
  637. <strname="facet.query">ipod</str>
  638. <strname="facet.query">GB</str>
  639. <strname="facet.mincount">1</str>
  640. <strname="facet.pivot">cat,inStock</str>
  641. <strname="facet.range.other">after</str>
  642. <strname="facet.range">price</str>
  643. <intname="f.price.facet.range.start">0</int>
  644. <intname="f.price.facet.range.end">600</int>
  645. <intname="f.price.facet.range.gap">50</int>
  646. <strname="facet.range">popularity</str>
  647. <intname="f.popularity.facet.range.start">0</int>
  648. <intname="f.popularity.facet.range.end">10</int>
  649. <intname="f.popularity.facet.range.gap">3</int>
  650. <strname="facet.range">manufacturedate_dt</str>
  651. <strname="f.manufacturedate_dt.facet.range.start">NOW/YEAR-10YEARS</str>
  652. <strname="f.manufacturedate_dt.facet.range.end">NOW</str>
  653. <strname="f.manufacturedate_dt.facet.range.gap">+1YEAR</str>
  654. <strname="f.manufacturedate_dt.facet.range.other">before</str>
  655. <strname="f.manufacturedate_dt.facet.range.other">after</str>
  656.  
  657. <!--Highlightingdefaults-->
  658. <strname="hl">on</str>
  659. <strname="hl.fl">contentfeaturestitlename</str>
  660. <strname="hl.encoder">html</str>
  661. <strname="hl.simple.pre">&lt;b&gt;</str>
  662. <strname="hl.simple.post">&lt;/b&gt;</str>
  663. <strname="f.title.hl.fragsize">0</str>
  664. <strname="f.title.hl.alternateField">title</str>
  665. <strname="f.name.hl.fragsize">0</str>
  666. <strname="f.name.hl.alternateField">name</str>
  667. <strname="f.content.hl.snippets">3</str>
  668. <strname="f.content.hl.fragsize">200</str>
  669. <strname="f.content.hl.alternateField">content</str>
  670. <strname="f.content.hl.maxAlternateFieldLength">750</str>
  671.  
  672. <!--Spellcheckingdefaults-->
  673. <strname="spellcheck">on</str>
  674. <strname="spellcheck.extendedResults">false</str>
  675. <strname="spellcheck.count">5</str>
  676. <strname="spellcheck.alternativeTermCount">2</str>
  677. <strname="spellcheck.maxResultsForSuggest">5</str>
  678. <strname="spellcheck.collate">true</str>
  679. <strname="spellcheck.collateExtendedResults">true</str>
  680. <strname="spellcheck.maxCollationTries">5</str>
  681. <strname="spellcheck.maxCollations">3</str>
  682. </lst>
  683.  
  684. <!--appendspellcheckingtoourlistofcomponents-->
  685. <arrname="last-components">
  686. <str>spellcheck</str>
  687. </arr>
  688. </requestHandler>
  689.  
  690.  
  691. <!--UpdateRequestHandler.
  692.  
  693. http://wiki.apache.org/solr/UpdateXmlMessages
  694.  
  695. ThecanonicalRequestHandlerforModifyingtheIndexthrough
  696. commandsspecifiedusingXML,JSON,CSV,orJAVABIN
  697.  
  698. Note:Sincesolr1.1requestHandlersrequiresavalidcontent
  699. typeheaderifpostedinthebody.Forexample,curlnow
  700. requires:-H'Content-type:text/xml;charset=utf-8'
  701.  
  702. Tooverridetherequestcontenttypeandforceaspecific
  703. Content-type,usetherequestparameter:
  704. ?update.contentType=text/csv
  705.  
  706. Thishandlerwillpickaresponseformattomatchtheinput
  707. ifthe'wt'parameterisnotexplicit
  708. -->
  709. <requestHandlername="/update"class="solr.UpdateRequestHandler">
  710. <!--Seebelowforinformationondefining
  711. updateRequestProcessorChainsthatcanbeusedbyname
  712. oneachUpdateRequest
  713. -->
  714. <!--
  715. <lstname="defaults">
  716. <strname="update.chain">dedupe</str>
  717. </lst>
  718. -->
  719. </requestHandler>
  720.  
  721. <!--forbackcompatwithclientsusing/update/jsonand/update/csv-->
  722. <requestHandlername="/update/json"class="solr.JsonUpdateRequestHandler">
  723. <lstname="defaults">
  724. <strname="stream.contentType">application/json</str>
  725. </lst>
  726. </requestHandler>
  727. <requestHandlername="/update/csv"class="solr.CSVRequestHandler">
  728. <lstname="defaults">
  729. <strname="stream.contentType">application/csv</str>
  730. </lst>
  731. </requestHandler>
  732.  
  733. <!--SolrCellUpdateRequestHandler
  734.  
  735. http://wiki.apache.org/solr/ExtractingRequestHandler
  736.  
  737. -->
  738. <requestHandlername="/update/extract"
  739. startup="lazy"
  740. class="solr.extraction.ExtractingRequestHandler">
  741. <lstname="defaults">
  742. <strname="lowernames">true</str>
  743. <strname="uprefix">ignored_</str>
  744.  
  745. <!--capturelinkhrefsbutignoredivattributes-->
  746. <strname="captureAttr">true</str>
  747. <strname="fmap.a">links</str>
  748. <strname="fmap.div">ignored_</str>
  749. </lst>
  750. </requestHandler>
  751.  
  752.  
  753. <!--FieldAnalysisRequestHandler
  754.  
  755. RequestHandlerthatprovidesmuchthesamefunctionalityas
  756. analysis.jsp.Providestheabilitytospecifymultiplefield
  757. typesandfieldnamesinthesamerequestandoutputs
  758. index-timeandquery-timeanalysisforeachofthem.
  759.  
  760. Requestparametersare:
  761. analysis.fieldname-fieldnamewhoseanalyzersaretobeused
  762.  
  763. analysis.fieldtype-fieldtypewhoseanalyzersaretobeused
  764. analysis.fieldvalue-textforindex-timeanalysis
  765. q(oranalysis.q)-textforquerytimeanalysis
  766. analysis.showmatch(true|false)-Whensettotrueandwhen
  767. queryanalysisisperformed,theproducedtokensofthe
  768. fieldvalueanalysiswillbemarkedas"matched"forevery
  769. tokenthatisproducesbythequeryanalysis
  770. -->
  771. <requestHandlername="/analysis/field"
  772. startup="lazy"
  773. class="solr.FieldAnalysisRequestHandler"/>
  774.  
  775.  
  776. <!--DocumentAnalysisHandler
  777.  
  778. http://wiki.apache.org/solr/AnalysisRequestHandler
  779.  
  780. Ananalysishandlerthatprovidesabreakdownoftheanalysis
  781. processofprovideddocuments.Thishandlerexpectsa(single)
  782. contentstreamwiththefollowingformat:
  783.  
  784. <docs>
  785. <doc>
  786. <fieldname="id">1</field>
  787. <fieldname="name">TheName</field>
  788. <fieldname="text">TheTextValue</field>
  789. </doc>
  790. <doc>...</doc>
  791. <doc>...</doc>
  792. ...
  793. </docs>
  794.  
  795. Note:Eachdocumentmustcontainafieldwhichservesasthe
  796. uniquekey.Thiskeyisusedinthereturnedresponsetoassociate
  797. ananalysisbreakdowntotheanalyzeddocument.
  798.  
  799. LiketheFieldAnalysisRequestHandler,thishandleralsosupports
  800. queryanalysisbysendingeitheran"analysis.query"or"q"
  801. requestparameterthatholdsthequerytexttobeanalyzed.It
  802. alsosupportsthe"analysis.showmatch"parameterwhichwhensetto
  803. true,allfieldtokensthatmatchthequerytokenswillbemarked
  804. asa"match".
  805. -->
  806. <requestHandlername="/analysis/document"
  807. class="solr.DocumentAnalysisRequestHandler"
  808. startup="lazy"/>
  809.  
  810. <!--AdminHandlers
  811.  
  812. AdminHandlers-Thiswillregisterallthestandardadmin
  813. RequestHandlers.
  814. -->
  815. <requestHandlername="/admin/"
  816. class="solr.admin.AdminHandlers"/>
  817. <!--Thissinglehandlerisequivalenttothefollowing...-->
  818. <!--
  819. <requestHandlername="/admin/luke"class="solr.admin.LukeRequestHandler"/>
  820. <requestHandlername="/admin/system"class="solr.admin.SystemInfoHandler"/>
  821. <requestHandlername="/admin/plugins"class="solr.admin.PluginInfoHandler"/>
  822. <requestHandlername="/admin/threads"class="solr.admin.ThreadDumpHandler"/>
  823. <requestHandlername="/admin/properties"class="solr.admin.PropertiesRequestHandler"/>
  824. <requestHandlername="/admin/file"class="solr.admin.ShowFileRequestHandler">
  825. -->
  826. <!--Ifyouwishtohidefilesunder${solr.home}/conf,explicitly
  827. registertheShowFileRequestHandlerusing:
  828. -->
  829. <!--
  830. <requestHandlername="/admin/file"
  831. class="solr.admin.ShowFileRequestHandler">
  832. <lstname="invariants">
  833. <strname="hidden">synonyms.txt</str>
  834. <strname="hidden">anotherfile.txt</str>
  835. </lst>
  836. </requestHandler>
  837. -->
  838.  
  839. <!--ping/healthcheck-->
  840. <requestHandlername="/admin/ping"class="solr.PingRequestHandler">
  841. <lstname="invariants">
  842. <strname="q">solrpingquery</str>
  843. </lst>
  844. <lstname="defaults">
  845. <strname="echoParams">all</str>
  846. </lst>
  847. <!--AnoptionalfeatureofthePingRequestHandleristoconfigurethe
  848. handlerwitha"healthcheckFile"whichcanbeusedtoenable/disable
  849. thePingRequestHandler.
  850. relativepathsareresolvedagainstthedatadir
  851. -->
  852. <!--<strname="healthcheckFile">server-enabled.txt</str>-->
  853. </requestHandler>
  854.  
  855. <!--Echotherequestcontentsbacktotheclient-->
  856. <requestHandlername="/debug/dump"class="solr.DumpRequestHandler">
  857. <lstname="defaults">
  858. <strname="echoParams">explicit</str>
  859. <strname="echoHandler">true</str>
  860. </lst>
  861. </requestHandler>
  862.  
  863. <!--SolrReplication
  864.  
  865. TheSolrReplicationHandlersupportsreplicatingindexesfroma
  866. "master"usedforindexingand"slaves"usedforqueries.
  867.  
  868. http://wiki.apache.org/solr/SolrReplication
  869.  
  870. ItisalsonecessaryforSolrCloudtofunction(inCloudmode,the
  871. replicationhandlerisusedtobulktransfersegmentswhennodes
  872. areaddedorneedtorecover).
  873.  
  874. https://wiki.apache.org/solr/SolrCloud/
  875. -->
  876. <requestHandlername="/replication"class="solr.ReplicationHandler">
  877. <!--
  878. Toenablesimplemaster/slavereplication,uncommentoneofthe
  879. sectionsbelow,dependingonwhetherthissolrinstanceshouldbe
  880. the"master"ora"slave".Ifthisinstanceisa"slave"youwill
  881. alsoneedtofillinthemasterUrltopointtoarealmachine.
  882. -->
  883. <!--
  884. <lstname="master">
  885. <strname="replicateAfter">commit</str>
  886. <strname="replicateAfter">startup</str>
  887. <strname="confFiles">schema.xml,stopwords.txt</str>
  888. </lst>
  889. -->
  890. <!--
  891. <lstname="slave">
  892. <strname="masterUrl">http://your-master-hostname:8983/solr</str>
  893. <strname="pollInterval">00:00:60</str>
  894. </lst>
  895. -->
  896. </requestHandler>
  897.  
  898. <!--SearchComponents
  899.  
  900. SearchcomponentsareregisteredtoSolrCoreandusedby
  901. instancesofSearchHandler(whichcanaccessthembyname)
  902.  
  903. Bydefault,thefollowingcomponentsareavailable:
  904.  
  905. <searchComponentname="query"class="solr.QueryComponent"/>
  906. <searchComponentname="facet"class="solr.FacetComponent"/>
  907. <searchComponentname="mlt"class="solr.MoreLikeThisComponent"/>
  908. <searchComponentname="highlight"class="solr.HighlightComponent"/>
  909. <searchComponentname="stats"class="solr.StatsComponent"/>
  910. <searchComponentname="debug"class="solr.DebugComponent"/>
  911.  
  912. DefaultconfigurationinarequestHandlerwouldlooklike:
  913.  
  914. <arrname="components">
  915. <str>query</str>
  916. <str>facet</str>
  917. <str>mlt</str>
  918. <str>highlight</str>
  919. <str>stats</str>
  920. <str>debug</str>
  921. </arr>
  922.  
  923. IfyouregisterasearchComponenttooneofthestandardnames,thatwillbeusedinsteadofthedefault.
  924.  
  925. Toinsertcomponentsbeforeorafterthe'standard'components,use:
  926.  
  927. <arrname="first-components">
  928. <str>myFirstComponentName</str>
  929. </arr>
  930.  
  931. <arrname="last-components">
  932. <str>myLastComponentName</str>
  933. </arr>
  934.  
  935. NOTE:Thecomponentregisteredwiththename"debug"will
  936. alwaysbeexecutedafterthe"last-components"
  937.  
  938. -->
  939.  
  940. <!--SpellCheck
  941.  
  942. Thespellcheckcomponentcanreturnalistofalternativespelling
  943. suggestions.
  944.  
  945. http://wiki.apache.org/solr/SpellCheckComponent
  946. -->
  947. <searchComponentname="spellcheck"class="solr.SpellCheckComponent">
  948.  
  949. <strname="queryAnalyzerFieldType">text_general</str>
  950.  
  951. <!--Multiple"SpellCheckers"canbedeclaredandusedbythis
  952. component
  953. -->
  954.  
  955. <!--aspellcheckerbuiltfromafieldofthemainindex-->
  956. <lstname="spellchecker">
  957. <strname="name">default</str>
  958. <strname="field">text</str>
  959. <strname="classname">solr.DirectSolrSpellChecker</str>
  960. <!--thespellcheckdistancemeasureused,thedefaultistheinternallevenshtein-->
  961. <strname="distanceMeasure">internal</str>
  962. <!--minimumaccuracyneededtobeconsideredavalidspellchecksuggestion-->
  963. <floatname="accuracy">0.5</float>
  964. <!--themaximum#editsweconsiderwhenenumeratingterms:canbe1or2-->
  965. <intname="maxEdits">2</int>
  966. <!--theminimumsharedprefixwhenenumeratingterms-->
  967. <intname="minPrefix">1</int>
  968. <!--maximumnumberofinspectionsperresult.-->
  969. <intname="maxInspections">5</int>
  970. <!--minimumlengthofaquerytermtobeconsideredforcorrection-->
  971. <intname="minQueryLength">4</int>
  972. <!--maximumthresholdofdocumentsaquerytermcanappeartobeconsideredforcorrection-->
  973. <floatname="maxQueryFrequency">0.01</float>
  974. <!--uncommentthistorequiresuggestionstooccurin1%ofthedocuments
  975. <floatname="thresholdTokenFrequency">.01</float>
  976. -->
  977. </lst>
  978.  
  979. <!--aspellcheckerthatcanbreakorcombinewords.See"/spell"handlerbelowforusage-->
  980. <lstname="spellchecker">
  981. <strname="name">wordbreak</str>
  982. <strname="classname">solr.WordBreakSolrSpellChecker</str>
  983. <strname="field">name</str>
  984. <strname="combineWords">true</str>
  985. <strname="breakWords">true</str>
  986. <intname="maxChanges">10</int>
  987. </lst>
  988.  
  989. <!--aspellcheckerthatusesadifferentdistancemeasure-->
  990. <!--
  991. <lstname="spellchecker">
  992. <strname="name">jarowinkler</str>
  993. <strname="field">spell</str>
  994. <strname="classname">solr.DirectSolrSpellChecker</str>
  995. <strname="distanceMeasure">
  996. org.apache.lucene.search.spell.JaroWinklerDistance
  997. </str>
  998. </lst>
  999. -->
  1000.  
  1001. <!--aspellcheckerthatuseanalternatecomparator
  1002.  
  1003. comparatorClassbeoneof:
  1004. 1.score(default)
  1005. 2.freq(Frequencyfirst,thenscore)
  1006. 3.Afullyqualifiedclassname
  1007. -->
  1008. <!--
  1009. <lstname="spellchecker">
  1010. <strname="name">freq</str>
  1011. <strname="field">lowerfilt</str>
  1012. <strname="classname">solr.DirectSolrSpellChecker</str>
  1013. <strname="comparatorClass">freq</str>
  1014. -->
  1015.  
  1016. <!--Aspellcheckerthatreadsthelistofwordsfromafile-->
  1017. <!--
  1018. <lstname="spellchecker">
  1019. <strname="classname">solr.FileBasedSpellChecker</str>
  1020. <strname="name">file</str>
  1021. <strname="sourceLocation">spellings.txt</str>
  1022. <strname="characterEncoding">UTF-8</str>
  1023. <strname="spellcheckIndexDir">spellcheckerFile</str>
  1024. </lst>
  1025. -->
  1026. </searchComponent>
  1027.  
  1028. <!--Arequesthandlerfordemonstratingthespellcheckcomponent.
  1029.  
  1030. NOTE:Thisispurelyasanexample.ThewholepurpoSEOfthe
  1031. SpellCheckComponentistohookitintotherequesthandlerthat
  1032. handlesyournormaluserqueriessothataseparaterequestis
  1033. notneededtogetsuggestions.
  1034.  
  1035. INOTHERWORDS,THEREISREALLYGOODCHANCETHESETUPBELOWIS
  1036. NOTWHATYOUWANTFORYOURPRODUCTIONSYSTEM!
  1037.  
  1038. Seehttp://wiki.apache.org/solr/SpellCheckComponentfordetails
  1039. ontherequestparameters.
  1040. -->
  1041. <requestHandlername="/spell"class="solr.SearchHandler"startup="lazy">
  1042. <lstname="defaults">
  1043. <strname="df">text</str>
  1044. <!--Solrwillusesuggestionsfromboththe'default'spellchecker
  1045. andfromthe'wordbreak'spellcheckerandcombinethem.
  1046. collations(re-writtenqueries)canincludeacombinationof
  1047. correctionsfrombothspellcheckers-->
  1048. <strname="spellcheck.dictionary">default</str>
  1049. <strname="spellcheck.dictionary">wordbreak</str>
  1050. <strname="spellcheck">on</str>
  1051. <strname="spellcheck.extendedResults">true</str>
  1052. <strname="spellcheck.count">10</str>
  1053. <strname="spellcheck.alternativeTermCount">5</str>
  1054. <strname="spellcheck.maxResultsForSuggest">5</str>
  1055. <strname="spellcheck.collate">true</str>
  1056. <strname="spellcheck.collateExtendedResults">true</str>
  1057. <strname="spellcheck.maxCollationTries">10</str>
  1058. <strname="spellcheck.maxCollations">5</str>
  1059. </lst>
  1060. <arrname="last-components">
  1061. <str>spellcheck</str>
  1062. </arr>
  1063. </requestHandler>
  1064.  
  1065. <!--TermVectorComponent
  1066.  
  1067. http://wiki.apache.org/solr/TermVectorComponent
  1068. -->
  1069. <searchComponentname="tvComponent"class="solr.TermVectorComponent"/>
  1070.  
  1071. <!--Arequesthandlerfordemonstratingthetermvectorcomponent
  1072.  
  1073. Thisispurelyasanexample.
  1074.  
  1075. Inrealityyouwilllikelywanttoaddthecomponenttoyour
  1076. alreadyspecifiedrequesthandlers.
  1077. -->
  1078. <requestHandlername="/tvrh"class="solr.SearchHandler"startup="lazy">
  1079. <lstname="defaults">
  1080. <strname="df">text</str>
  1081. <boolname="tv">true</bool>
  1082. </lst>
  1083. <arrname="last-components">
  1084. <str>tvComponent</str>
  1085. </arr>
  1086. </requestHandler>
  1087.  
  1088. <!--ClusteringComponent
  1089.  
  1090. http://wiki.apache.org/solr/ClusteringComponent
  1091.  
  1092. You'llneedtosetthesolr.clustering.enabledsystemproperty
  1093. whenrunningsolrtorunwithclusteringenabled:
  1094.  
  1095. java-Dsolr.clustering.enabled=true-jarstart.jar
  1096.  
  1097. -->
  1098. <searchComponentname="clustering"
  1099. enable="${solr.clustering.enabled:false}"
  1100. class="solr.clustering.ClusteringComponent">
  1101. <!--Declareanengine-->
  1102. <lstname="engine">
  1103. <!--Thename,onlyonecanbenamed"default"-->
  1104. <strname="name">default</str>
  1105.  
  1106. <!--ClassnameofCarrot2clusteringalgorithm.
  1107.  
  1108. Currentlyavailablealgorithmsare:
  1109.  
  1110. *org.carrot2.clustering.lingo.LingoClusteringAlgorithm
  1111. *org.carrot2.clustering.stc.STCClusteringAlgorithm
  1112. *org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm
  1113.  
  1114. Seehttp://project.carrot2.org/algorithms.htmlforthe
  1115. algorithm'scharacteristics.
  1116. -->
  1117. <strname="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>
  1118.  
  1119. <!--OverridingvaluesforCarrot2defaultalgorithmattributes.
  1120.  
  1121. Foradescriptionofallavailableattributes,see:
  1122. http://download.carrot2.org/stable/manual/#chapter.components.
  1123. Useattributekeyasnameattributeofstrelements
  1124. below.Thesecanbefurtheroverriddenforindividual
  1125. requestsbyspecifyingattributekeyasrequestparameter
  1126. nameandattributevalueasparametervalue.
  1127. -->
  1128. <strname="LingoClusteringAlgorithm.desiredClusterCountBase">20</str>
  1129.  
  1130. <!--LocationofCarrot2lexicalresources.
  1131.  
  1132. AdirectoryfromwhichtoloadCarrot2-specificstopwords
  1133. andstoplabels.AbsoluteorrelativetoSolrconfigdirectory.
  1134. Ifaspecificresource(e.g.stopwords.en)ispresentinthe
  1135. specifieddir,itwillcompletelyoverridethecorresponding
  1136. defaultonethatshipswithCarrot2.
  1137.  
  1138. ForanoverviewofCarrot2lexicalresources,see:
  1139. http://download.carrot2.org/head/manual/#chapter.lexical-resources
  1140. -->
  1141. <strname="carrot.lexicalResourcesDir">clustering/carrot2</str>
  1142.  
  1143. <!--Thelanguagetoassumeforthedocuments.
  1144.  
  1145. Foralistofallowedvalues,see:
  1146. http://download.carrot2.org/stable/manual/#section.attribute.lingo.MultilingualClustering.defaultLanguage
  1147. -->
  1148. <strname="MultilingualClustering.defaultLanguage">ENGLISH</str>
  1149. </lst>
  1150. <lstname="engine">
  1151. <strname="name">stc</str>
  1152. <strname="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>
  1153. </lst>
  1154. </searchComponent>
  1155.  
  1156. <!--Arequesthandlerfordemonstratingtheclusteringcomponent
  1157.  
  1158. Thisispurelyasanexample.
  1159.  
  1160. Inrealityyouwilllikelywanttoaddthecomponenttoyour
  1161. alreadyspecifiedrequesthandlers.
  1162. -->
  1163. <requestHandlername="/clustering"
  1164. startup="lazy"
  1165. enable="${solr.clustering.enabled:false}"
  1166. class="solr.SearchHandler">
  1167. <lstname="defaults">
  1168. <boolname="clustering">true</bool>
  1169. <strname="clustering.engine">default</str>
  1170. <boolname="clustering.results">true</bool>
  1171. <!--Thetitlefield-->
  1172. <strname="carrot.title">name</str>
  1173. <strname="carrot.url">id</str>
  1174. <!--Thefieldtoclusteron-->
  1175. <strname="carrot.snippet">features</str>
  1176. <!--producesummaries-->
  1177. <boolname="carrot.produceSummary">true</bool>
  1178. <!--themaximumnumberoflabelspercluster-->
  1179. <!--<intname="carrot.numDescriptions">5</int>-->
  1180. <!--producesubclusters-->
  1181. <boolname="carrot.outputSubClusters">false</bool>
  1182.  
  1183. <strname="defType">edismax</str>
  1184. <strname="qf">
  1185. text^0.5features^1.0name^1.2sku^1.5id^10.0manu^1.1cat^1.4
  1186. </str>
  1187. <strname="q.alt">*:*</str>
  1188. <strname="rows">10</str>
  1189. <strname="fl">*,score</str>
  1190. </lst>
  1191. <arrname="last-components">
  1192. <str>clustering</str>
  1193. </arr>
  1194. </requestHandler>
  1195.  
  1196. <!--TermsComponent
  1197.  
  1198. http://wiki.apache.org/solr/TermsComponent
  1199.  
  1200. Acomponenttoreturntermsanddocumentfrequencyofthose
  1201. terms
  1202. -->
  1203. <searchComponentname="terms"class="solr.TermsComponent"/>
  1204.  
  1205. <!--Arequesthandlerfordemonstratingthetermscomponent-->
  1206. <requestHandlername="/terms"class="solr.SearchHandler"startup="lazy">
  1207. <lstname="defaults">
  1208. <boolname="terms">true</bool>
  1209. <boolname="distrib">false</bool>
  1210. </lst>
  1211. <arrname="components">
  1212. <str>terms</str>
  1213. </arr>
  1214. </requestHandler>
  1215.  
  1216.  
  1217. <!--QueryElevationComponent
  1218.  
  1219. http://wiki.apache.org/solr/QueryElevationComponent
  1220.  
  1221. asearchcomponentthatenablesyoutoconfigurethetop
  1222. resultsforagivenqueryregardlessofthenormallucene
  1223. scoring.
  1224. -->
  1225. <searchComponentname="elevator"class="solr.QueryElevationComponent">
  1226. <!--pickafieldTypetoanalyzequeries-->
  1227. <strname="queryFieldType">string</str>
  1228. <strname="config-file">elevate.xml</str>
  1229. </searchComponent>
  1230.  
  1231. <!--Arequesthandlerfordemonstratingtheelevatorcomponent-->
  1232. <requestHandlername="/elevate"class="solr.SearchHandler"startup="lazy">
  1233. <lstname="defaults">
  1234. <strname="echoParams">explicit</str>
  1235. <strname="df">text</str>
  1236. </lst>
  1237. <arrname="last-components">
  1238. <str>elevator</str>
  1239. </arr>
  1240. </requestHandler>
  1241.  
  1242. <!--HighlightingComponent
  1243.  
  1244. http://wiki.apache.org/solr/HighlightingParameters
  1245. -->
  1246. <searchComponentclass="solr.HighlightComponent"name="highlight">
  1247. <highlighting>
  1248. <!--Configurethestandardfragmenter-->
  1249. <!--Thiscouldmostlikelybecommentedoutinthe"default"case-->
  1250. <fragmentername="gap"
  1251. default="true"
  1252. class="solr.highlight.GapFragmenter">
  1253. <lstname="defaults">
  1254. <intname="hl.fragsize">100</int>
  1255. </lst>
  1256. </fragmenter>
  1257.  
  1258. <!--Aregular-expression-basedfragmenter
  1259. (forsentenceextraction)
  1260. -->
  1261. <fragmentername="regex"
  1262. class="solr.highlight.RegexFragmenter">
  1263. <lstname="defaults">
  1264. <!--slightlysmallerfragsizesworkbetterbecauSEOfslop-->
  1265. <intname="hl.fragsize">70</int>
  1266. <!--allow50%sloponfragmentsizes-->
  1267. <floatname="hl.regex.slop">0.5</float>
  1268. <!--abasicsentencepattern-->
  1269. <strname="hl.regex.pattern">[-\w,/\n\&quot;&apos;]{20,200}</str>
  1270. </lst>
  1271. </fragmenter>
  1272.  
  1273. <!--Configurethestandardformatter-->
  1274. <formattername="html"
  1275. default="true"
  1276. class="solr.highlight.HtmlFormatter">
  1277. <lstname="defaults">
  1278. <strname="hl.simple.pre"><![CDATA[<em>]]></str>
  1279. <strname="hl.simple.post"><![CDATA[</em>]]></str>
  1280. </lst>
  1281. </formatter>
  1282.  
  1283. <!--Configurethestandardencoder-->
  1284. <encodername="html"
  1285. class="solr.highlight.HtmlEncoder"/>
  1286.  
  1287. <!--ConfigurethestandardfragListBuilder-->
  1288. <fragListBuildername="simple"
  1289. class="solr.highlight.SimpleFragListBuilder"/>
  1290.  
  1291. <!--ConfigurethesinglefragListBuilder-->
  1292. <fragListBuildername="single"
  1293. class="solr.highlight.SingleFragListBuilder"/>
  1294.  
  1295. <!--ConfiguretheweightedfragListBuilder-->
  1296. <fragListBuildername="weighted"
  1297. default="true"
  1298. class="solr.highlight.WeightedFragListBuilder"/>
  1299.  
  1300. <!--defaulttagFragmentsBuilder-->
  1301. <fragmentsBuildername="default"
  1302. default="true"
  1303. class="solr.highlight.scoreOrderFragmentsBuilder">
  1304. <!--
  1305. <lstname="defaults">
  1306. <strname="hl.multiValuedSeparatorChar">/</str>
  1307. </lst>
  1308. -->
  1309. </fragmentsBuilder>
  1310.  
  1311. <!--multi-coloredtagFragmentsBuilder-->
  1312. <fragmentsBuildername="colored"
  1313. class="solr.highlight.scoreOrderFragmentsBuilder">
  1314. <lstname="defaults">
  1315. <strname="hl.tag.pre"><![CDATA[
  1316. <bstyle="background:yellow">,<bstyle="background:lawgreen">,<bstyle="background:aquamarine">,<bstyle="background:magenta">,<bstyle="background:palegreen">,<bstyle="background:coral">,<bstyle="background:wheat">,<bstyle="background:khaki">,<bstyle="background:lime">,<bstyle="background:deepskyblue">]]></str>
  1317. <strname="hl.tag.post"><![CDATA[</b>]]></str>
  1318. </lst>
  1319. </fragmentsBuilder>
  1320.  
  1321. <boundaryScannername="default"
  1322. default="true"
  1323. class="solr.highlight.SimpleBoundaryScanner">
  1324. <lstname="defaults">
  1325. <strname="hl.bs.maxScan">10</str>
  1326. <strname="hl.bs.chars">.,!?&#9;&#10;&#13;</str>
  1327. </lst>
  1328. </boundaryScanner>
  1329.  
  1330. <boundaryScannername="breakIterator"
  1331. class="solr.highlight.BreakIteratorBoundaryScanner">
  1332. <lstname="defaults">
  1333. <!--typeshouldbeoneofCHARACTER,WORD(default),LINEandSENTENCE-->
  1334. <strname="hl.bs.type">WORD</str>
  1335. <!--languageandcountryareusedwhenconstructingLocaleobject.-->
  1336. <!--AndtheLocaleobjectwillbeusedwhengettinginstanceofBreakIterator-->
  1337. <strname="hl.bs.language">en</str>
  1338. <strname="hl.bs.country">US</str>
  1339. </lst>
  1340. </boundaryScanner>
  1341. </highlighting>
  1342. </searchComponent>
  1343.  
  1344. <!--UpdateProcessors
  1345.  
  1346. ChainsofUpdateProcessorFactoriesfordealingwithUpdate
  1347. Requestscanbedeclared,andthenusedbynameinUpdate
  1348. RequestProcessors
  1349.  
  1350. http://wiki.apache.org/solr/UpdateRequestProcessor
  1351.  
  1352. -->
  1353. <!--Deduplication
  1354.  
  1355. Anexamplededupupdateprocessorthatcreatesthe"id"field
  1356. ontheflybasedonthehashcodeofsomeotherfields.This
  1357. examplehasoverwriteDupessettofalsesinceweareusingthe
  1358. idfieldasthesignatureFieldandSolrwillmaintain
  1359. uniquenessbasedonthatanyway.
  1360.  
  1361. -->
  1362. <!--
  1363. <updateRequestProcessorChainname="dedupe">
  1364. <processorclass="solr.processor.SignatureUpdateProcessorFactory">
  1365. <boolname="enabled">true</bool>
  1366. <strname="signatureField">id</str>
  1367. <boolname="overwriteDupes">false</bool>
  1368. <strname="fields">name,cat</str>
  1369. <strname="signatureClass">solr.processor.Lookup3Signature</str>
  1370. </processor>
  1371. <processorclass="solr.LogUpdateProcessorFactory"/>
  1372. <processorclass="solr.RunUpdateProcessorFactory"/>
  1373. </updateRequestProcessorChain>
  1374. -->
  1375.  
  1376. <!--Languageidentification
  1377.  
  1378. Thisexampleupdatechainidentifiesthelanguageoftheincoming
  1379. documentsusingthelangidcontrib.Thedetectedlanguageis
  1380. writtentofieldlanguage_s.Nofieldnamemappingisdone.
  1381. Thefieldsusedfordetectionaretext,subjectanddescription,makingthisexamplesuitablefordetectinglanguagesformfull-text
  1382. richdocumentsinjectedviaExtractingRequestHandler.
  1383. SeemoreaboutlangIdathttp://wiki.apache.org/solr/LanguageDetection
  1384. -->
  1385. <!--
  1386. <updateRequestProcessorChainname="langid">
  1387. <processorclass="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory">
  1388. <strname="langid.fl">text,subject,description</str>
  1389. <strname="langid.langField">language_s</str>
  1390. <strname="langid.fallback">en</str>
  1391. </processor>
  1392. <processorclass="solr.LogUpdateProcessorFactory"/>
  1393. <processorclass="solr.RunUpdateProcessorFactory"/>
  1394. </updateRequestProcessorChain>
  1395. -->
  1396.  
  1397. <!--Scriptupdateprocessor
  1398.  
  1399. ThisexamplehooksinanupdateprocessorimplementedusingJavaScript.
  1400.  
  1401. Seemoreaboutthescriptupdateprocessorathttp://wiki.apache.org/solr/ScriptUpdateProcessor
  1402. -->
  1403. <!--
  1404. <updateRequestProcessorChainname="script">
  1405. <processorclass="solr.StatelessScriptUpdateProcessorFactory">
  1406. <strname="script">update-script.js</str>
  1407. <lstname="params">
  1408. <strname="config_param">exampleconfigparameter</str>
  1409. </lst>
  1410. </processor>
  1411. <processorclass="solr.RunUpdateProcessorFactory"/>
  1412. </updateRequestProcessorChain>
  1413. -->
  1414.  
  1415. <!--ResponseWriters
  1416.  
  1417. http://wiki.apache.org/solr/QueryResponseWriter
  1418.  
  1419. Requestresponseswillbewrittenusingthewriterspecifiedby
  1420. the'wt'requestparametermatchingthenameofaregistered
  1421. writer.
  1422.  
  1423. The"default"writeristhedefaultandwillbeusedif'wt'is
  1424. notspecifiedintherequest.
  1425. -->
  1426. <!--Thefollowingresponsewritersareimplicitlyconfiguredunless
  1427. overridden...
  1428. -->
  1429. <!--
  1430. <queryResponseWritername="xml"
  1431. default="true"
  1432. class="solr.XMLResponseWriter"/>
  1433. <queryResponseWritername="json"class="solr.JSONResponseWriter"/>
  1434. <queryResponseWritername="python"class="solr.PythonResponseWriter"/>
  1435. <queryResponseWritername="ruby"class="solr.RubyResponseWriter"/>
  1436. <queryResponseWritername="PHP"class="solr.PHPResponseWriter"/>
  1437. <queryResponseWritername="PHPs"class="solr.PHPSerializedResponseWriter"/>
  1438. <queryResponseWritername="csv"class="solr.CSVResponseWriter"/>
  1439. <queryResponseWritername="schema.xml"class="solr.SchemaXmlResponseWriter"/>
  1440. -->
  1441.  
  1442. <queryResponseWritername="json"class="solr.JSONResponseWriter">
  1443. <!--Forthepurposesofthetutorial,JSONresponsesarewrittenas
  1444. plaintextsothattheyareeasytoreadin*any*browser.
  1445. IfyouexpectaMIMEtypeof"application/json"justremovethisoverride.
  1446. -->
  1447. <strname="content-type">text/plain;charset=UTF-8</str>
  1448. </queryResponseWriter>
  1449.  
  1450. <!--
  1451. Customresponsewriterscanbedeclaredasneeded...
  1452. -->
  1453. <queryResponseWritername="velocity"class="solr.VelocityResponseWriter"startup="lazy"/>
  1454.  
  1455.  
  1456. <!--XSLTresponsewritertransformstheXMLoutputbyanyxsltfilefound
  1457. inSolr'sconf/xsltdirectory.Changestoxsltfilesarecheckedfor
  1458. everyxsltCacheLifetimeSeconds.
  1459. -->
  1460. <queryResponseWritername="xslt"class="solr.XSLTResponseWriter">
  1461. <intname="xsltCacheLifetimeSeconds">5</int>
  1462. </queryResponseWriter>
  1463.  
  1464. <!--QueryParsers
  1465.  
  1466. http://wiki.apache.org/solr/SolrQuerySyntax
  1467.  
  1468. MultipleQParserPluginscanberegisteredbyname,andthen
  1469. usedineitherthe"defType"paramfortheQueryComponent(used
  1470. bySearchHandler)orinLocalParams
  1471. -->
  1472. <!--exampleofregisteringaqueryparser-->
  1473. <!--
  1474. <queryParsername="myparser"class="com.mycompany.MyQParserPlugin"/>
  1475. -->
  1476.  
  1477. <!--FunctionParsers
  1478.  
  1479. http://wiki.apache.org/solr/FunctionQuery
  1480.  
  1481. MultipleValueSourceParserscanberegisteredbyname,andthen
  1482. usedasfunctionnameswhenusingthe"func"QParser.
  1483. -->
  1484. <!--exampleofregisteringacustomfunctionparser-->
  1485. <!--
  1486. <valueSourceParsername="myfunc"
  1487. class="com.mycompany.MyValueSourceParser"/>
  1488. -->
  1489.  
  1490.  
  1491. <!--DocumentTransformers
  1492. http://wiki.apache.org/solr/DocTransformers
  1493. -->
  1494. <!--
  1495. Couldbesomethinglike:
  1496. <transformername="db"class="com.mycompany.LoadFromDatabaseTransformer">
  1497. <intname="connection">jdbc://....</int>
  1498. </transformer>
  1499.  
  1500. Toaddaconstantvaluetoalldocs,use:
  1501. <transformername="mytrans2"class="org.apache.solr.response.transform.ValueAugmenterFactory">
  1502. <intname="value">5</int>
  1503. </transformer>
  1504.  
  1505. Ifyouwanttheusertostillbeabletochangeitwith_value:something_usethis:
  1506. <transformername="mytrans3"class="org.apache.solr.response.transform.ValueAugmenterFactory">
  1507. <doublename="defaultValue">5</double>
  1508. </transformer>
  1509.  
  1510. IfyouareusingtheQueryElevationComponent,youmaywishtomarkdocumentsthatgetboosted.The
  1511. EditorialMarkerFactorywilldoexactlythat:
  1512. <transformername="qecBooster"class="org.apache.solr.response.transform.EditorialMarkerFactory"/>
  1513. -->
  1514.  
  1515.  
  1516. <!--Legacyconfigfortheadmininterface-->
  1517. <admin>
  1518. <defaultQuery>*:*</defaultQuery>
  1519. </admin>
  1520.  
  1521. </config>

猜你在找的XML相关文章