使用solr.StandardFilterFactory从新服务器上的现有核心升级schema.xml中的筛选器

时间:2019-07-06 11:51:03

标签: filter solr upgrade

我需要将在5.5.3上运行的solr核心移动到新服务器上,在该服务器上安装了solr 8.1.1。不幸的是,存在的schema.xml使用

的多个实例
solr.StandardFilterFactory

现在已被删除,没有这些,我不知道如何重写架构。

当我尝试添加核心时,出现错误

ERROR: Error CREATEing SolrCore 'core-test': Unable to create core [core-test] Caused by: solr.StandardFilterFactory
而是显示

我的实际代码是

<analyzer type="index">
            <tokenizer class="solr.StandardTokenizerFactory"/>
            <filter class="solr.StandardFilterFactory"/>
            <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_fr.txt"/>
            <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" splitOnNumerics="0"/>
            <filter class="solr.ASCIIFoldingFilterFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.SnowballPorterFilterFactory" language="French" protected="protwords_fr.txt" />
            <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        </analyzer>

我已经搜索了手册,但他们只说手册已被删除https://github.com/apache/lucene-solr/blob/master/lucene/CHANGES.txt

1 个答案:

答案 0 :(得分:2)

StandardFilter从3.1开始没有做任何事情,因此您可以放心地删除它:

  

luceneMatchVersion(在solrconfig.xml中)大于“ 3.1”时,此过滤器在Solr中不再可用。

除非您明确使用了低于3.2的luceneMatchVersion,否则它什么都不会影响。

您的词干分析程序可能会执行标准过滤器已执行的部分操作-即,它会删除复数形式的

如果您仍然需要旧版StandardFilter的某些功能,则可以删除StandardTokenizer并使用经典版本:

<tokenizer class="solr.ClassicTokenizerFactory"/>
<filter class="solr.ClassicFilterFactory"/>