SOLR Tokenizer "solr.SimplePatternSplitTokenizerFactory" 在意外字符处拆分
SOLR Tokenizer "solr.SimplePatternSplitTokenizerFactory" splits at unexpected characters
我在使用 solr.SimplePatternSplitTokenizerFactory 时得到了意想不到的结果。使用的模式实际上来自 SOLR 文档中的示例,我不明白我在哪里犯了错误或者为什么它没有按预期工作。
如果我们以示例输入 "operative" 为例,分析器显示在索引期间,输入被拆分为标记 "ope"、"a" 和 "ive",即分词器是在字符 "r" 和 "t" 处拆分,而不是在预期的空白字符处拆分(CR、TAB)。只是为了确保我也尝试在模式中使用多个退格键(例如 \t 和 \\t),但这并没有更改索引期间输入的标记化方式。
我错过了什么?
使用的 SOLR 版本是 7.5.0。
schema中字段类型的定义如下:
<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>
Update 在 "Solr - User" 邮件列表存档中找到了这个 post:
http://lucene.472066.n3.nabble.com/Solr-Reference-Guide-issue-for-simplified-tokenizers-td4385540.html
似乎文档(或示例)不是 correct/working。分词器的以下用法按预期工作:
<tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ 	

]+"/>
在 "Solr - User" 邮件列表存档中找到 post:http://lucene.472066.n3.nabble.com/Solr-Reference-Guide-issue-for-simplified-tokenizers-td4385540.html
似乎文档(或示例)不是 correct/working。分词器的以下用法按预期工作:
<tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ 	

]+"/>
我在使用 solr.SimplePatternSplitTokenizerFactory 时得到了意想不到的结果。使用的模式实际上来自 SOLR 文档中的示例,我不明白我在哪里犯了错误或者为什么它没有按预期工作。
如果我们以示例输入 "operative" 为例,分析器显示在索引期间,输入被拆分为标记 "ope"、"a" 和 "ive",即分词器是在字符 "r" 和 "t" 处拆分,而不是在预期的空白字符处拆分(CR、TAB)。只是为了确保我也尝试在模式中使用多个退格键(例如 \t 和 \\t),但这并没有更改索引期间输入的标记化方式。
我错过了什么?
使用的 SOLR 版本是 7.5.0。
schema中字段类型的定义如下:
<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>
Update 在 "Solr - User" 邮件列表存档中找到了这个 post: http://lucene.472066.n3.nabble.com/Solr-Reference-Guide-issue-for-simplified-tokenizers-td4385540.html
似乎文档(或示例)不是 correct/working。分词器的以下用法按预期工作:
<tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ 	

]+"/>
在 "Solr - User" 邮件列表存档中找到 post:http://lucene.472066.n3.nabble.com/Solr-Reference-Guide-issue-for-simplified-tokenizers-td4385540.html
似乎文档(或示例)不是 correct/working。分词器的以下用法按预期工作:
<tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ 	

]+"/>