我们如何向运行在Apcache Solr上的特定内核添加数据。目前我有这段代码,它在单个内核上添加数据,如果我们有多个内核运行,具有相同的字段名称,太阳能如何决定写入哪个内核,因为这段代码是模糊的!
我们无法定义哪个核心/集合/索引!!!
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;
import java.io.IOException;
public class SolrjPopulator {
public static void main(String[] args) throws IOException, SolrServerException {
HttpSolrServer server = new HttpSolrServer("http://localhost:8983/solr");
for(int i=0;i<1000;++i) {
SolrInputDocument doc = new SolrInputDocument();
doc.addField("cat", "book");
doc.addField("id", "book-" + i);
doc.addField("name", "The Legend of the Hobbit part " + i);
server.add(doc);
if(i%100==0) server.commit(); // periodically flush
}
server.commit();
}
}
2条答案
按热度按时间qnakjoqk1#
内核将具有不同的URL,您可以在代码中使用这些URL:
1yjd4xko2#
您也可以使用“collection”参数来定义您要使用的核心:
https://lucene.apache.org/solr/7_1_0//solr-solrj/org/apache/solr/client/solrj/SolrClient.html#add-java.lang.String-org.apache.solr.common.SolrInputDocument-