2016-04-21 75 views
0

我正在测试索引文档的SolrJ代码。 当我执行我的代码时,它看起来像正常工作。 但执行后,当我检查Solr UI上的预期结果时,它不显示任何内容。但重新启动Solr后,它会在Solr UI上正确显示预期的结果。使用SolrJ索引文档

如何在不重新启动Solr的情况下获取索引文档?

我的Solr的版本:5.2.1 请参考下

import java.io.IOException; 
import org.apache.solr.client.solrj.SolrClient; 
import org.apache.solr.client.solrj.SolrServerException; 
import org.apache.solr.client.solrj.impl.HttpSolrClient; 
import org.apache.solr.client.solrj.response.UpdateResponse; 
import org.apache.solr.common.SolrInputDocument; 
import org.apache.solr.common.*; 

public class addDocument { 

    public static void main(String[] args) throws IOException, 
      SolrServerException { 
     try { 

      String urlString = "http://(SolrServer)/solr/test_core/"; 
      SolrClient solr = new HttpSolrClient(urlString); 
      SolrInputDocument doc = new SolrInputDocument(); 
      // indexing a document 

      doc.addField("id", "12311122113"); 
      doc.addField("title", "Insertion Completed"); 

      UpdateResponse response = solr.add(doc); 
      System.out.println("Done"); 
     } catch (Exception e) { 
      System.out.println(e.getMessage()); 
     } 
    } 
} 
+2

我猜'solr.commit()'可能会解决这个问题。 –

回答

0

您需要的文件索引过程完成后提交我的Java代码。所以如果你重新启动solr,它会自动提交。如果你不想重新启动Solr。您可以通过

  1. 尝试重新载入核心(参见下面的网址,根据您改变URL名称)

    http://127.0.0.1:8080/solr/admin/cores?action=RELOAD&core=core1

  2. 使用solr.commit();在你的代码

+0

谢谢你的协助 –