系统原来没有做索引的实时更新,而是采用脚本10min中全量索引一遍,由于做的是电子商务,需要做实时更新功能;
实时更新部分使用的是
SolrInputDocument sid = new SolrInputDocument();
sid.addFiled();
sid.commit();
系统上线之后,发现数据在不停的变化;
可是solrj的机制是更新完索引才会从备份中转移到主文件当中;
后来发现当10min全量索引时候,并且执行多次实时索引commit()的时候,solrj会认为你的索引已经更新完成
把备份读取到主索引文件中,后一次commit()会覆盖掉原有的commit();每次commoti();后索引文件都会发生变化
因此,10min内看到的数据会一次比一次多!