我一直在把一些产品规格保存到Solr 5中。大多数产品都包含使用破折号或点的唯一变体ids,如:Samesung TV 54 : AD-oi-230、Sony TV 24 : 1.849.32s.s。
但有时,我遇到一些使用空格而不是破折号的变体I,如Samsung 54 : OPD 1 jud、Sony 32 : s1 90 b33 9 337。
由于这些if没有多大意义,如果我删除了这些空格(Samsung 54 : OPD1jud、Sony 32 : s190b339337),它是缩小了还是缩小了索引大小?
这是我的字段,它存储模型名。我已经启用了WordDelimiterFilterFactory
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" preserveOriginal="0" generateNumberParts="1" splitOnCaseChange="0" catenateWords="1" splitOnNumerics="1" stemEnglishPossessive="0" generateWordParts="1" catenateAll="0" catenateNumbers="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.LengthFilterFactory" min="2" max="20"/>
</analyzer>
</fieldType>发布于 2016-01-04 08:08:16
索引大小在这里不是问题。特别是,因为无论您对分析器做什么,您仍然拥有原始的存储值。
但是,您所描述的(移除空格)对于值的规范化和确保搜索匹配ID是否包含空格或破折号是有意义的。所以,这是一个更好的理由来看看这个。
https://stackoverflow.com/questions/34532087
复制相似问题