设想:
在数据库中,我有一个名为Categories的字段,它的类型是字符串,并且包含许多用管道分隔的数字,例如1|8|90|130|
我想要的是:
在 Solr 索引中,我想要 2 个字段:
- 字段类别_管道将包含数据库中的确切字符串,即
1|8|90|130|
- 字段类别,它将是 INT 类型的多值字段,包含值 1、8、90 和 130
对于后者,在实体规范中我可以使用 regexTransformer 然后我在 data-config.xml 中指定以下字段:
<field column="Categories" name="Navigation" splitBy="\|"/>
然后在 schema.xml 中将该字段指定为多值
我不知道的是如何“复制”同一个字段两次并仅对一个字段执行正则表达式拆分。我知道有copyField
可以在 schema.xml 中定义的工具,但是我找不到转换复制字段的方法,因为据我所知(我可能在这里错了),转换器仅在实体规范中可用。
作为一种解决方法,我也可以从实体查询中发送两次相同的字段,但实际上,字段类别是一个计算字段(选择嵌套),它有点昂贵,所以我想避免它。
任何帮助表示赞赏,谢谢。