我的数据库模型是使用动态属性(实体属性值模型)设计的。 对于db,我有一个添加新属性的服务。 但是每次添加新属性时我都需要将它添加到schema.xml
是否有可能动态地向solr schama.xml添加字段? 感谢。
答案 0 :(得分:1)
一种可能的方法是根据动态属性命名功能配置一组<dynamicField/>
。
使用dynamicField,您可以创建字段规则,Solr将使用该字段规则来理解在给定未明确定义的字段名称但应匹配dynamicField中使用的前缀或后缀时应使用的数据类型。
限制:name属性中类似于glob的模式必须仅在开头或结尾处具有“*
”。
<dynamicField name="fm_*" type="float" indexed="true" stored="true" multiValued="true"/>
name="fm_*"
将匹配以fm_ *开头的任何字段。将首先匹配更长的模式。如果相同大小的模式都匹配,则将使用模式中出现的第一个模式。
通过执行此操作,下一步是在属性命名服务中创建规则:根据属性的类型为属性的名称添加前缀(或附加后缀)(您可能希望专注于字段类型以提高效率)映射)。在示例中,“fm_”对应于浮点多值字段。