我目前正在使用Riak服务器内部的Solr实现。关于Riak的默认设置,不要担心任何软件升级,我需要在我的核心SolrConfig.xml中包括额外的配置。我将通过Ansible命令以编程方式完成此操作。我想在工厂设置solrconfig.xml中添加尽可能少的行。
我需要在我的配置中包含一堆<searchComponent>和<requestHandler>,因为我希望使用这种模式:
<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>配置文件如下所示:
<?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()只接受元素索引,并且需要与包含容器的子容器一样多的插入。
我怎样才能有条不紊地做到这一点呢?
发布于 2016-06-05 11:44:53
TYPO3使用用于Solr配置的XML包括。这可能会有帮助。
不过,请注意,最新的Solr使用动态模式,动态模式可以将所有包含的文件重写为统一的managed-schema文件(例如,对于无模式模式)。您可以禁用它或永远不触发重写,只需慎重考虑。
https://stackoverflow.com/questions/37596933
复制相似问题