0

我一直在将一些产品规格保存到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>
4

1 回答 1

1

索引大小在这里不是问题。特别是,因为无论您使用分析仪做什么,您仍然拥有原始存储的值。

但是,您所描述的(删除空格)对于值的规范化和确保搜索匹配 ID 是否包含空格或破折号是有意义的。所以,无论如何,这是一个更好的理由来看待这个问题。

于 2016-01-04T08:08:16.853 回答