1
預打包的WhitespaceTokenizerFactory不像我預期的那樣工作。我能夠通過使用WhitespaceTokenizerFactory和各種PatternReplaceFilterFactory的組合來實現期望的結果,但我很好奇爲什麼\ r \ n被視爲文字字符而不是字符返回和換行符。任何可能提供的指導將不勝感激。Solr WhitespaceTokenizerFactory - r n未被視爲空白?
初始字符串:
Daniel, \r\n\r\n This is a test.
OR
Daniel,\r\n\r\nThis is a test.
Solr的分析:
WT text Daniel, \r\n\r\n This is a test.
raw_bytes [44 61 6e 69 65 6c 2c] [5c 72 5c 6e 5c 72 5c 6e] [54 68 69 73] [69 73] [61] [74 65 73 74 2e]
start 0 8 17 22 25 27
end 7 16 21 24 26 32
positionLength 1 1 1 1 1 1
type word word word word word word
position 1 2 3 4 5 6
所需的結果:
[Daniel,] [This] [is] [a] [test.]
Solr的字段類型:
<fieldType name="text_classic" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" rule="java" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" rule="java" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Solr的字段名稱:
<field name="test_field" type="text_classic" multiValued="true" indexed="true" stored="false"/>
Solr的版本:
6.2.1
謝謝你的幫助! – Daniel