动态地向solr添加字段

时间:2013-10-13 09:31:28

标签: solr

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

是否有可能动态地向solr schama.xml添加字段? 感谢。

1 个答案:

答案 0 :(得分:1)

一种可能的方法是根据动态属性命名功能配置一组<dynamicField/>

使用dynamicField,您可以创建字段规则,Solr将使用该字段规则来理解在给定未明确定义的字段名称但应匹配dynamicField中使用的前缀或后缀时应使用的数据类型。

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

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

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

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