首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Xinclude包含SolrConfig

通过Xinclude包含SolrConfig
EN

Stack Overflow用户
提问于 2016-06-02 16:06:05
回答 1查看 295关注 0票数 0

我目前正在使用Riak服务器内部的Solr实现。关于Riak的默认设置,不要担心任何软件升级,我需要在我的核心SolrConfig.xml中包括额外的配置。我将通过Ansible命令以编程方式完成此操作。我想在工厂设置solrconfig.xml中添加尽可能少的行。

我需要在我的配置中包含一堆<searchComponent><requestHandler>,因为我希望使用这种模式:

代码语言:javascript
复制
    <config>
      <!-- snip -->
      <xi:include href="solrconfig_extra.xml" xpointer="xpointer(//searchComponent)" xmlns:xi="http://www.w3.org/2001/XInclude" />
      <xi:include href="solrconfig_extra.xml" xpointer="xpointer(//requestHandler)" xmlns:xi="http://www.w3.org/2001/XInclude" />
    </config>

配置文件如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>

<container>
  <searchComponent class="solr.SpellCheckComponent" name="suggest">
   <lst name="spellchecker">
     <str name="name">suggest</str>
     <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
     <str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str>
     <str name="field">myterms</str>  <!-- the indexed field to derive suggestions from -->
     <float name="threshold">0</float>
     <str name="buildOnCommit">false</str>
  <!--
     <str name="sourceLocation">american-english</str>
  -->
   </lst>
  </searchComponent>

  <requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest">
   <lst name="defaults">
     <str name="spellcheck">true</str>
     <str name="spellcheck.dictionary">suggest</str>
     <str name="spellcheck.onlyMorePopular">true</str>
     <str name="spellcheck.count">5</str>
     <str name="spellcheck.collate">true</str>
   </lst>
   <arr name="components">
     <str>suggest</str>
   </arr>
  </requestHandler>
</container>

不幸的是,Xerces不支持xpointer()模式,因为element()只接受元素索引,并且需要与包含容器的子容器一样多的插入。

我怎样才能有条不紊地做到这一点呢?

  • 从xerces切换到另一个from解析器很容易吗?我必须提醒您,我不想尽可能地改变供应商的解决方案。
  • 在SolrConfig语法中,可能有一个中性元素允许我包含在配置中(例如/config/NEUTRALMAGICTAG/requestHandler被解释为/config/requestHandler )
  • 我是否应该放弃和忘记XInclude,并完成纯ansible文件版本?
EN

回答 1

Stack Overflow用户

发布于 2016-06-05 11:44:53

TYPO3使用用于Solr配置的XML包括。这可能会有帮助。

不过,请注意,最新的Solr使用动态模式,动态模式可以将所有包含的文件重写为统一的managed-schema文件(例如,对于无模式模式)。您可以禁用它或永远不触发重写,只需慎重考虑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37596933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档