solr server不更新EmbeddedSolrServer提交的数据?

如题,使用EmbeddedSolrServer提交的数据,在solr server查询不出来,只有重启solr server之后才能查询到。查询互联网无果之后,我忽然想到使用CommonsHttpSolrServer来commit()一下,结果大快人心,问题解决。
为什么要使用EmbeddedSolrServer呢?据某些资料介绍,如果solr server和client在同一台机器上,使用EmbeddedSolrServer(直接通过lucene写磁盘)比使用CommonsHttpSolrServer(http访问)要快50%。

下面以简单的代码说明这个问题。
首先是EmbeddedSolrServer的初始化,和wiki的一样,很简单:
System.setProperty("solr.solr.home", "");
CoreContainer.Initializer initializer = new CoreContainer.Initializer();
CoreContainer coreContainer = initializer.initialize();
EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer, "");

CommonsHttpSolrServer的初始化也和wiki的一样。
提交代码:
embeddedSolrServer.add(docList);
embeddedSolrServer.commit();
commonsHttpSolrServer.commit();// 如果没有http的commit,solr server不会查询到刚才提交的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值