我一直在将一些产品规格保存到Solr 5
。大多数产品都包含使用破折号或点的唯一变体ID,如下所示:Samesung TV 54 : AD-oi-230
,Sony TV 24 : 1.849.32s.s
。
但有时候,我遇到了一些使用空格而不是短划线的变体ID,例如Samsung 54 : OPD 1 jud
,Sony 32 : s1 90 b33 9 337
。
由于这些ID没有多大意义,如果删除这些空格(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>
答案 0 :(得分:1)
索引大小不是问题。特别是,无论您使用分析仪做什么,您仍然拥有原始存储值。
但是,您描述的内容(删除空格)对值的规范化有意义,并确保搜索匹配ID是包含空格还是短划线。所以,无论如何,这是更好的理由。