Xml 如何使用Solr copyfield复制值并在存储前对其进行修改

Xml 如何使用Solr copyfield复制值并在存储前对其进行修改,xml,solr,Xml,Solr,首先,我要说的是,在配置Solr时,我是一个彻头彻尾的noob(顺便说一下,我使用的是3.6.2版)。我想做的是创建一个新字段,从另一个字段复制一个值,然后在存储之前修改它。在这种特殊情况下,我想复制year字段(其中包含一个以字符串ie 2014表示的年份),然后将其转换为与Solr的DateField兼容的适当日期值 我曾想过使用copyfield作为实现这一点的方法,但我不确定如何进行转换。这就是我到目前为止所做的: <field name="dc.date" type="text_

首先,我要说的是,在配置Solr时,我是一个彻头彻尾的noob(顺便说一下,我使用的是3.6.2版)。我想做的是创建一个新字段,从另一个字段复制一个值,然后在存储之前修改它。在这种特殊情况下,我想复制year字段(其中包含一个以字符串ie 2014表示的年份),然后将其转换为与Solr的DateField兼容的适当日期值

我曾想过使用copyfield作为实现这一点的方法,但我不确定如何进行转换。这就是我到目前为止所做的:

<field name="dc.date" type="text_en" indexed="true" stored="true" multiValued="true"/>
<copyField source="dc.date" dest="dc.date_dt"/>
<field name="dc.date_dt" type="date" multiValued="false" indexed="true" stored="true"/>


一个人怎样才能做到这一点呢?

你不能
copyField
是一种方便的声明,在添加或更新文档时,无需为两个不同的字段设置相同的值


因此,当您添加或更新文档时,您必须自己进行日期转换,然后设置
dc.date
dc.date\u dt

注意,copyField声明只能出现在所有字段声明之后,并且字段声明用自己的标记嵌套。因此,您的示例应该更像这样:@nofinator感谢您对此的澄清。很高兴知道这一点。那么我将如何实现这一点呢?我需要使用xslt吗?@user5013对于模式,可以使用与上面相同的字段声明。只需省略copyField。