如何将字段值复制到solr中的新字段

时间:2013-09-12 10:32:27

标签: solr solrj solr4

我目前在Solr中有以下标签的文件

FirstName:一些名字 姓氏:某个名字

我想在所有文档中添加另一个标记Full Name,它将连接FirstName +" " +姓氏

有没有办法做到这一点(我不想使用复制字段,因为将来我会直接在全名中插入值

谢谢,

希蒙

1 个答案:

答案 0 :(得分:1)

不确定为什么你不想使用copyfield,因为这正是它的用途。您可以通过schema.xml文件执行以下操作:

<field name="FullName" type="text" indexed="true" stored="true" multiValued="true"/>

<copyField source="FirstName" dest="FullName"/>
<copyField source="LastName" dest="FullName"/>

然后只需在不再需要时从架构中删除copyfield并重新索引您的集合。

如果你使用DIH,另一个选择是将名字和姓氏一起加入一个用空格分隔的字符串,然后将其插入你的FullName字段:

Schema.xml的:

<field name="FullName" type="text" indexed="true" stored="true" multiValued="true"/>

DB-数据-config.xml中

select table.FirstName + " " + table.LastName as 'dbFullName'
...

<field column="dbFullName" name="FullName" />