我目前在 Solr 中有带有以下标签的文档
名字:某个名字 姓氏:某个名字
我想在所有文档中添加另一个标签 Full Name,它将连接 FirstName + " " + Last Name
有没有办法做到这一点(我不想使用复制字段,因为将来我会直接将值插入全名
谢谢,
西蒙
不知道为什么你不想使用 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" />