0

我的数据库模型是使用动态属性(实体属性值模型)设计的。对于数据库,我有一个添加新属性的服务。但是每次添加新属性时,我都需要将其添加到 schema.xml

有没有一种方法可以动态地将字段添加到 solr schama.xml?
谢谢。

4

1 回答 1

1

一种可能的方式是配置一组<dynamicField/>按照动态属性命名的特性。

使用dynamicField,您可以创建字段规则,Solr 将使用这些规则来了解应该使用什么数据类型,只要它被赋予一个未明确定义但与 ​​dynamicField 中使用的前缀或后缀匹配的字段名称。

限制:name 属性中的类似 glob 的模式必须*仅在开头或结尾有一个“”。

<dynamicField name="fm_*" type="float" indexed="true" stored="true" multiValued="true"/>

name="fm_*"将匹配以 fm_* 开头的任何字段。较长的模式将首先匹配。如果相等大小的模式都匹配,将使用模式中第一个出现的模式。

通过这样做,下一步是在属性命名服务中创建规则:根据属性的类型为属性名称添加前缀(或后缀)(您可能希望专注于字段类型以进行有效的映射)。在示例中,“fm_”对应于浮点多值字段。

于 2013-10-13T15:19:57.030 回答