多个 Tokenizer 在 Solr 上不起作用

Multiple Tokenizer doesn't work on Solr

我正在尝试使用以下字段类型在 solr 上进行部分搜索:

<fieldType name="partial_search" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <tokenizer class="solr.NGramTokenizerFactory" minGramSize="2" maxGramSize="10"/>
</analyzer>
<analyzer type="query">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>

但是我收到了这个错误:

Index: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core Index: Plugin init failure for [schema.xml] fieldType "partial_search": Plugin init failure for [schema.xml] analyzer/tokenizer: The schema defines multiple tokenizers for: [tokenizer: null]. Schema file is /var/solr/data/Index/conf/schema.xml

P.S: Index是Solr Core的名称。

同一分析器中不能有多个分词器。一种解决方案是将分析仪应用于您的领域 partial_search。从 partial_search 创建一个复制字段并将第二个分析器应用于该复制字段。另一种解决方案是创建一个自定义分词器,它包装来自您要组合的两个分词器的行为。