设为首页 收藏本站
查看: 1410|回复: 0

[经验分享] solrconfig.xml配置文件

[复制链接]

尚未签到

发表于 2017-12-20 10:52:59 | 显示全部楼层 |阅读模式
  <?xml version="1.0" encoding="UTF-8" ?>
  <config>
  <!-- 在下面的所有配置中,前缀"solr"。 为类名
  是一个别名,导致solr搜索适当的包,
  包括org.apache.solr。(search | update | request | core | analysis)
  如果你也可以指定一个完全限定的Java类名
  有自己的定制插件。
  -->
  <luceneMatchVersion>5.1.0</luceneMatchVersion>
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
  <dataDir>${solr.data.dir:}</dataDir>
  <!-- DirectoryFactory用于索引。
  solr.StandardDirectoryFactory是文件系统
  并尝试挑选当前的最佳实现
  JVM和平台。 solr.NRTCachingDirectoryFactory,默认,
  包装solr.StandardDirectoryFactory并将小文件缓存在内存中
  为了更好的NRT性能。
  可以通过solr.MMapDirectoryFactory强制实现特定的实现,
  solr.NIOFSDirectoryFactory或solr.SimpleFSDirectoryFactory。
  solr.RAMDirectoryFactory是基于内存的,而不是
  持久性,并且不能与复制配合使用。
  -->
  <directoryFactory name="DirectoryFactory"
  >
  <!-- 如果您使用的是solr.HdfsDirectoryFactory,
  否则会被忽略。 如果您不打算使用hdfs,
  您可以安全地删除此部分 -->        
  <str name="solr.hdfs.home">${solr.hdfs.home:}</str>
  <str name="solr.hdfs.confdir">${solr.hdfs.confdir:}</str>
  <str name="solr.hdfs.blockcache.enabled">${solr.hdfs.blockcache.enabled:true}</str>
  <str name="solr.hdfs.blockcache.global">${solr.hdfs.blockcache.global:true}</str>
  </directoryFactory>
  <codecFactory/>
  <schemaFactory/>
  <indexConfig>
  <lockType>${solr.lock.type:native}</lockType>
  <infoStream>true</infoStream>
  </indexConfig>
  <!-- JMX
  此示例可在JMX中启用并且仅当现有的MBeanServer
  如果要通过JVM配置JMX,请使用此选项
  参数。 删除它以禁用暴露Solr配置并向JMX统计。
  -->
  <jmx />
  <updateHandler>
  <!-- 启用事务日志,用于实时获取,持久性和
  和solr云复制恢复。 日志可以增长
  未提交的索引更改,所以使用硬性的autoCommit被推荐(见下文)。
  "dir" - 事务日志的目标目录,默认为
  solr数据目录。  -->
  <updateLog>
  <str name="dir">${solr.ulog.dir:}</str>
  </updateLog>
  <!-- AutoCommit
  在特定条件下自动执行强制提交。 而不是启用autoCommit,请考虑在添加文档时使用"commitWithin"。
  http://wiki.apache.org/solr/UpdateXmlMessages
  maxDocs - 自动触发新提交之前自上次提交以来要添加的最大文档数。
  maxTime - 在自动触发新提交之前自添加文档以来允许通过的最大时间(以ms为单位)。
  openSearcher - 如果为false,则提交将导致最近的索引更改被刷新到稳定存储,但不会导致新的搜索器被打开以使这些更改可见。
  如果启用了updateLog,那么强烈建议您使用某种类型的autoCommit来限制日志大小。
  -->
  <autoCommit>
  <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
  <openSearcher>false</openSearcher>
  </autoCommit>
  <!--softAutoCommit就像autoCommit,除了它导致一个"软"提交,
  只能确保更改是可见的,但不能确保数据被同步到磁盘。 这比一个艰难的承诺更快,更接近实时友好。
  -->
  <autoSoftCommit>
  <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
  </autoSoftCommit>
  </updateHandler>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  查询部分 - 这些设置控制查询时间,如缓存
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <query>
  <maxBooleanClauses>1024</maxBooleanClauses>
  <!--
  Solr内部查询缓存,基于同步的LinkedHashMap和基于ConcurrentHashMap的FastLRUCache,
  有两种可用于Solr,LRUCache的缓存实现。
  FastLRUCache在单线程操作中具有更快的获取速度和更慢的速度,因此当缓存的命中率高(> 75%)时,通常快于LRUCache,并且在多CPU系统的其他情况下可能会更快。
  -->
  <!-- Filter Cache
  过滤器缓存
  参数:
  class - SolrCache实现LRUCache或(LRUCache或FastLRUCache)
  size - 缓存中最大条目数
  initialSize - 缓存的初始容量(条目数)。 (参见java.util.HashMap)
  autowarmCount - 预填充和旧缓存的条目数。
  -->
  <filterCache

  >  initialSize="512"
  autowarmCount="0"/>
  <!-- 查询结果缓存
  缓存搜索结果 - 基于查询,排序和请求的文档范围的文档ID(DocList)的有序列表。
  -->
  <queryResultCache

  >  initialSize="512"
  autowarmCount="0"/>
  <!-- 文档缓存
  缓存Lucene Document对象(每个文档的存储字段)。 由于Lucene内部文档id是短暂的,
  此缓存不会被自动加热。
  -->
  <documentCache

  >  initialSize="512"
  autowarmCount="0"/>
  <!-- custom cache currently used by block join -->
  <cache name="perSegFilter"

  >  initialSize="0"
  autowarmCount="10"
  regenerator="solr.NoOpRegenerator" />
  <!-- 字段懒加载
  如果为true,那么未请求的存储字段将被懒惰地加载。
  如果通常的情况是不加载所有存储的字段,
  则这可以导致显着的速度改善,特别是如果跳过的字段是大的压缩文本字段。
  -->
  <enableLazyFieldLoading>true</enableLazyFieldLoading>
  <!--结果窗口大小
  与queryResultCache一起使用的优化。 当请求搜索时,请求所需数量的文档ID的超集
  被收集。 例如,如果搜索特定查询请求匹配文档10到19,并且queryWindowSize为50,
  那么文件0到49将被收集和缓存。 通过缓存可以满足该范围内的任何其他请求。
  -->
  <queryResultWindowSize>20</queryResultWindowSize>
  <!-- queryResultCache中任何条目缓存的最大文档数。
  -->
  <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
  <!-- 查询相关事件侦听器
  各种IndexSearcher相关事件可以触发侦听器采取行动。
  newSearcher - 每当新的搜索者正在准备中,并且有一个当前的搜索者处理请求(也称为注册)时就被触发。 它可以用于提示某些缓存,以防止某些请求的长时间请求。
  firstSearcher - 每当一个新的搜索者准备好,但没有当前注册的搜索者来处理请求或从中获取自动加密数据时,它们就被触发。  
  -->
  <!-- QuerySenderListener接受NamedList数组,并按顺序对每个NamedList执行本地查询请求。
  -->
  <listener event="newSearcher">
  <arr name="queries">
  <!--
  <lst><str name="q">solr</str><str name="sort">price asc</str></lst>
  <lst><str name="q">rocks</str><str name="sort">weight asc</str></lst>
  -->
  </arr>
  </listener>
  <listener event="firstSearcher">
  <arr name="queries">
  <lst>
  <str name="q">static firstSearcher warming in solrconfig.xml</str>
  </lst>
  </arr>
  </listener>
  <!-- 使用冷搜索器
  如果搜索请求进入并且没有当前注册的搜索者,则立即注册仍然变暖的搜索者并使用它。 如果"false",则所有请求将被阻塞,直到第一个搜索者完成加温。
  -->
  <useColdSearcher>false</useColdSearcher>
  <!--
  最大预热搜索器
  可能在后台同时预热的搜索者的最大数量。 如果超出此限制,则返回错误。
  推荐值为1-2for read-only slaves
  -->
  <maxWarmingSearchers>2</maxWarmingSearchers>
  </query>
  <!-- 请求调度器
  requestDispatcher将请求分发给相应的请求处理器
  本节包含有关SolrDispatchFilter在处理此SolrCore请求时应如何运行的说明。
  handleSelecttrue"是为了向旧版本兼容 不必考虑
  为了向后兼容
  -->
  <requestDispatcher handleSelect="false" >
  <!-- Request Parsing
  设置请求的http表单的一些限制大小等配置
  -->
  <requestParsers enableRemoteStreaming="true"
  multipartUploadLimitInKB="2048000"
  formdataUploadLimitInKB="2048"
  addHttpRequestToContext="false"/>
  <httpCaching never304="true" />
  </requestDispatcher>
  <!-- 请求处理器
  http://wiki.apache.org/solr/SolrRequestHandler
  传入的查询将根据请求中指定的路径以名称的形式发送到特定的请求处理器
  -->
  <requestHandler name="/dataimport">
  <lst name="defaults">
  <str name="config">db-data-config.xml</str>
  </lst>
  </requestHandler>
  <requestHandler name="/select">
  <!--
  默认值 其中df为默认查询字段
  -->
  <lst name="defaults">
  <str name="echoParams">explicit</str>
  <int name="rows">10</int>
  <str name="df">text</str>
  </lst>
  <!--
  追加
  -->
  <!--
  <lst name="appends">
  <str name="fq">inStock:true</str>
  </lst>
  -->
  <!--
  重写
  -->
  <!--
  <lst name="invariants">
  <str name="facet.field">cat</str>
  <str name="facet.field">manu_exact</str>
  <str name="facet.query">price:[* TO 500]</str>
  <str name="facet.query">price:[500 TO *]</str>
  </lst>
  -->
  <!--
  如果不希望使用SearchComponent的默认列表,则该列表可以被完全覆盖,也可以将组件添加到默认列表中。 (见下文)
  <!--
  <arr name="components">
  <str>nameOfCustomComponent1</str>
  <str>nameOfCustomComponent2</str>
  </arr>
  -->
  </requestHandler>
  <requestHandler name="/query">
  <lst name="defaults">
  <str name="echoParams">explicit</str>
  <str name="wt">json</str>
  <str name="indent">true</str>
  <str name="df">text</str>
  </lst>
  </requestHandler>
  <requestHandler name="/get">
  <lst name="defaults">
  <str name="omitHeader">true</str>
  <str name="wt">json</str>
  <str name="indent">true</str>
  </lst>
  </requestHandler>
  <requestHandler name="/browse">
  <lst name="defaults">
  <str name="echoParams">explicit</str>
  <!-- VelocityResponseWriter settings -->
  <str name="wt">velocity</str>
  <str name="v.template">browse</str>
  <str name="v.layout">layout</str>
  <!-- Query settings -->
  <str name="defType">edismax</str>
  <str name="q.alt">*:*</str>
  <str name="rows">10</str>
  <str name="fl">*,score</str>

  <!-->  <str name="facet">on</str>
  <str name="facet.mincount">1</str>
  </lst>
  </requestHandler>
  <initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell,/browse">
  <lst name="defaults">
  <str name="df">text</str>
  </lst>
  </initParams>
  <requestHandler name="/update">
  </requestHandler>
  <!-- Solr Cell Update Request Handler
  http://wiki.apache.org/solr/ExtractingRequestHandler
  -->
  <requestHandler name="/update/extract"
  startup="lazy"
  >
  <lst name="defaults">
  <str name="lowernames">true</str>
  <str name="uprefix">ignored_</str>
  <!-- capture link hrefs but ignore div attributes -->
  <str name="captureAttr">true</str>
  <str name="fmap.a">links</str>
  <str name="fmap.div">ignored_</str>
  </lst>
  </requestHandler>
  <requestHandler name="/analysis/field"
  startup="lazy"
  />
  <requestHandler name="/analysis/document"
  startup="lazy" />
  <requestHandler name="/admin/"
  />
  <requestHandler name="/admin/ping">
  <lst name="invariants">
  <str name="q">solrpingquery</str>
  </lst>
  <lst name="defaults">
  <str name="echoParams">all</str>
  </lst>
  </requestHandler>
  <!-- Echo the request contents back to the client -->
  <requestHandler name="/debug/dump" >
  <lst name="defaults">
  <str name="echoParams">explicit</str>
  <str name="echoHandler">true</str>
  </lst>
  </requestHandler>
  <requestHandler name="/replication" >
  </requestHandler>
  <!-- 搜索组件
  搜索组件已注册到SolrCore并由其使用
  SearchHandler的实例(可以通过名称访问它们)
  默认情况下,以下组件可用:
  <searchComponent name ="query"class ="solr.QueryComponent"/>
  <searchComponent name ="facet"class ="solr.FacetComponent"/>
  <searchComponent name ="mlt"class ="solr.MoreLikeThisComponent"/>
  <searchComponent name ="highlight"class ="solr.HighlightComponent"/>
  <searchComponent name ="stats"class ="solr.StatsComponent"/>
  <searchComponent name ="debug"class ="solr.DebugComponent"/>
  requestHandler中的默认配置如下所示:
  <arr name="components">
  <str>query</str>
  <str>facet</str>
  <str>mlt</str>
  <str>highlight</str>
  <str>stats</str>
  <str>debug</str>
  </arr>
  如果您将searchComponent注册到其中一个标准名称,
  这将被使用而不是默认值。
  要在"标准"组件之前或之后插入组件,请使用:
  <arr name ="first-components">
  <STR> myFirstComponentName </ STR>
  </ ARR>
  <arr name ="last-components">
  <STR> myLastComponentName </ STR>
  </ ARR>
  注意:使用名称"debug"注册的组件将会
  总是在"最后的组件"之后执行
  -->
  </config>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-426004-1-1.html 上篇帖子: 关系型数据库MySql 下篇帖子: 14.SolrCloud环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表