如何在特定核心上使用Java API在Apache Solr(SolrJ)中添加文档

Ali*_*ore 2 java lucene solr solrj

我们如何将数据添加到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();
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

核心将具有不同的URL,您可以在代码中使用这些URL:

HttpSolrServer server0 = new HttpSolrServer("http://localhost:8983/solr/core0");
HttpSolrServer server1 = new HttpSolrServer("http://localhost:8983/solr/core1");
Run Code Online (Sandbox Code Playgroud)