0

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

名字:某个名字 姓氏:某个名字

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

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

谢谢,

西蒙

4

1 回答 1

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"/>

然后在不再需要时从模式中删除复制字段并重新索引您的集合。

如果您使用 DIH,另一种选择是将名字和姓氏连接到一个用空格分隔的字符串中,然后将其插入到您的 FullName 字段中:

架构.xml:

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

db-data-config.xml

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

<field column="dbFullName" name="FullName" />
于 2013-09-12T10:54:07.410 回答