如何将solr字符串字段截断为10个字符?

z7s*_*g Ѫ 4 indexing solr

我已经为索引创建了以下字符串字段.

<fieldType name="short_text_for_sort" class="solr.StrField" omitNorms="true" sortMissingLast="true" omitTermFreqAndPositions="true" positionIncrementGap="100">
  <analyzer type="index">
    <!-- TODO: truncate to 10 characters-->
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.ASCIIFoldingFilterFactory"/>
  </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

如何将此字段限制为10个字符?我需要编写自己的过滤器吗?

Mik*_* R. 6

一个选项:PatternTokenizerFactory和正则表达式输入到你需要的任何形式.

第二个选项:使用copyfield命令,将maxChars参数设置为10.

第三种选择:在您的数据进行solr之前处理此问题.

第二个选项可能是最简单的,并允许您保持原始字段值不变.