雖然從solr4開始官方文檔就不在推薦embedded模式入庫,但是這種模式可以多臺機器,每臺機器多進程併發入庫,速度很快。
solr4的 embedded入庫就要改一堆配置,solr5往後,結構有變化,單機模式配置文件統一管理,embedded入庫有不一樣了。
下面是solr6.3.0embedde模式入庫方法
###1.solr.xml配置改成
<solr>
</solr>
###2.每個shard中的core.properties改成
#Written by CorePropertiesLocator
#Mon Aug 14 19:38:59 CST 2017
configSet=配置文件位置
loadOnStartup=false
loadOnStartup如果不配置就會shard衝突
###3.代碼
String corepath = "shard所在路徑";
String shard = "入庫的shard";
List<SolrBean> list = "入庫數據bean的list";
CoreContainer coreContainer = CoreContainer.createAndLoad(Paths.get(corepath));
EmbeddedSolrServer embeddedServer = new EmbeddedSolrServer (coreContainer ,"shard");
embeddedServer.addBeans(list);
embeddedServer.commit();