SOLR令牌生成器“ solr.SimplePatternSplitTokenizerFactory”在意外字符处分裂

时间:2019-02-26 07:06:18

标签: solr tokenize

solr.SimplePatternSplitTokenizerFactory 产生意外结果。使用的模式实际上来自SOLR文档中的示例,我不知道我在哪里犯了错误或为什么它不能按预期工作。

如果以示例输入“ operating”为例,分析器将显示在索引编制过程中,输入将分为令牌“ ope”,“ a”和“ ive”,这是令牌化程序在字符处拆分的结果。 “ r” “ t” ,而不是预期的空白字符( CR TAB )。只是为了确保我也尝试在模式中使用多个退格键(例如 \ t \\ t ),但这并没有改变输入的标记方式在建立索引期间。

我想念什么?

使用的SOLR版本为7.5.0。

模式中字段类型的定义如下:

<fieldType name="text_custom" class="solr.TextField" positionIncrementGap="100" multiValued="true">
  <analyzer type="index">
    <tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ \t\r\n]+"/>

    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ \t\r\n]+"/>

    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

更新在“ Solr-用户”邮件列表档案中找到了该帖子: http://lucene.472066.n3.nabble.com/Solr-Reference-Guide-issue-for-simplified-tokenizers-td4385540.html

似乎文档(或示例)不正确/有效。标记程序的以下用法按预期工作:

<tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ &#x9;&#xA;&#xD;]+"/>

1 个答案:

答案 0 :(得分:0)

在“ Solr-用户”邮件列表档案中找到了该帖子:http://lucene.472066.n3.nabble.com/Solr-Reference-Guide-issue-for-simplified-tokenizers-td4385540.html

似乎文档(或示例)不正确/有效。标记程序的以下用法按预期工作:

<tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ &#x9;&#xA;&#xD;]+"/>