【发布时间】:2012-04-03 08:35:06
【问题描述】:
场景:
在数据库中,我有一个名为 Categories 的字段,该字段为字符串类型,包含多个数字管道分隔符,例如 1|8|90|130|
我想要什么:
在 Solr 索引中,我想要 2 个字段:
- 字段 Categories_ pipe 将包含数据库中的确切字符串,即
1|8|90|130| - 字段 Categories 这将是一个包含值 1、8、90 和 130 的 INT 类型的多值字段
对于后者,在实体规范中我可以使用 regexTransformer,然后我在 data-config.xml 中指定以下字段:
<field column="Categories" name="Navigation" splitBy="\|"/> 然后在schema.xml中将该字段指定为多值
我不知道如何“复制”同一个字段两次并仅对一个字段执行正则表达式拆分。我知道可以在 schema.xml 中定义 copyField 设施但是我找不到转换复制字段的方法,因为据我所知(我可能在这里错了),转换器仅在实体中可用规范。
作为一种解决方法,我也可以从实体查询中发送两次相同的字段,但实际上,字段 Categories 是一个计算字段(选择嵌套),它有点昂贵,所以我想避免它。
感谢您的帮助。
【问题讨论】:
标签: solr field multivalue