solr索引增加字段的步骤

http://hi.baidu.com/hontlong/blog/item/16b9a52308a9294fad34de8a.html#0

solr索引增加字段的步骤
2010-01-29 10:07

solr 1.4 索引,增加字段,此字段要求,索引并存储,类型是整形

1.先在scheml.xml中增加字段配置,然后重新启动加载新配置(此时仍是旧的索引,索引文件中实际没有新增索引字段)

此时,检索是没有问题的,但,不能使用新增字段检索。也不会有新增字段显示出来,即便是在配置中写入default。

2.做新的索引,索引文件中实际拥有索引字段,然后把配置文件中新增配置去除,重启。

此时,检索是有问题的,原因是:实际的新字段在写输出时没有配置,因此solr无法输出。

严重: java.lang.NullPointerException
        at org.apache.solr.request.XMLWriter.writePrim(XMLWriter.java:761)

也因此,如果你用fl指定输出字段,仅是旧字段,是没有问题的。

3.另外的测试结果:如配置文件中增加字段,并且有default,但实际提交做索引的数据没有新增字段,则搜索的结果有新增字段并且是default值。可见这里的default是仅对做索引有效的。

4.对分布式检索的测试:假设分布式检索有大小两个索引组成。

4.1如果先在大索引solr上添加新增字段,仅配置文件中增加,索引中不增加。小索引solr一切不变。

检索没有问题。

4.2如果再更换大索引solr的索引文件为已经实际添加了新增字段数据的索引文件,而小索引仍一切不变。

检索没有问题。(同样原因,变小索引,不变大索引也没有问题)

----------

基于上面的情况。

和我们的具体情况:(solr master-slaver 结构,并且slaver中使用分布式检索)

我们索引中增加字段的顺序应该是:

1.变更所有slaver机的配置 ,增加字段

2.变更master机的配置,增加字段

3.做master机的索引,增加新增字段数据

4.分发到slaver机器

5.分布式索引,新索引数据先到哪个slaver机没有关系。

-----------------

后发现,solr1.4有分发功能,此分发功能可以同时分发scheml.xml文件,这样就不用辛苦的每个机器去更新了。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值