【发布时间】:2019-03-27 06:18:59
【问题描述】:
我正在使用 SolrJ 在我的 solr 核心中索引我的数据。我使用 Solr 的自动提交,我想在索引完成后重新启动我的 solr。有没有办法用java代码做到这一点?
我做了这样的事情
String urlReload="http://localhost:8983/solr";
HttpSolrClient solr_reload=new HttpSolrClient.Builder(urlReload).build();
CoreAdminRequest adminRequest=new CoreAdminRequest();
adminRequest.setAction(CoreAdminAction.RELOAD);
adminRequest.setCoreName("archiveCore");
adminRequest.process(solr_reload);
【问题讨论】:
-
你能看看重新加载是否适合你吗? lucene.apache.org/solr/guide/6_6/…
-
索引后为什么要重启Solr?
-
@MatsLindh 当我在索引后没有重新启动时,我在我的 solr 核心中看不到任何数据。当我重新启动或重新加载我的核心时,数据即将到来。
-
听起来您正在提交数据而没有打开新的搜索器 - 或者根本不提交(但随后数据应该消失)。添加
commitWithin=10000以确保发送的任何数据在提交后 10 秒内出现,或发送显式提交请求,并确保在提交时打开新的搜索器。 -
重新加载内核比重启 solr 本身要好