首页 文章

在solr schema.xml中添加字段

提问于
浏览
8

我正在使用solr来搜索我的数据库,并且我正在尝试在conf / schema.xml中添加一个新字段(文章的publisher_id)以在我的数据库上搜索后获取publisher_id的值,我没有找到任何与此字段等效的字段名称 . 那么如何将它作为一个字段添加到schema.xml中,以便与文章的搜索值(正文, Headers ,日期和发布商ID)一起返回?

2 回答

  • 9

    首先:在publisher_id中存储了哪种数据?如果它是一个数字(int,log),那么添加一个具有相应类型的字段,如:

    <field name="publisher_id" type="int" indexed="true" stored="true" />
    

    向schema.xml添加字段后,必须重新启动solr-instance并重建索引 .

  • 3

    请注意,动态字段添加have been added in Solr 4.4 and Solr 5.0 ......两者都尚未发布 .

    与此同时,如果您希望在索引中添加字段,则有两个选项 . 首先,您可以采取艰难的方式:将字段添加到架构中,清除索引,重新启动Solr并重新索引所有内容 . 这往往有点站不住脚 .

    或者,您可以使用dynamic field declaration . 如果你查看架构,你会看到这样的行:

    <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
    <dynamicField name="*_is" type="int"    indexed="true"  stored="true"  multiValued="true"/>
    

    这意味着如果您添加一个名称以 _i_is 结尾的字段,您将全部设置为去 . 这些通常在默认模式中启用,因此如果您可以灵活地调用该字段的内容,则可能都设置了这个 .

    如果这两个选项看起来都没有前途,那么你的第三个选择是等待Solr 4.4或5.0并升级(这也很可能需要重新索引!) .

相关问题