使用SolrJ索引文档

时间:2016-04-21 09:44:36

标签: java solr solrj

我正在测试索引文档的SolrJ代码。 当我执行我的代码时,看起来工作正常。 但执行后,当我在Solr UI上检查预期结果时, 它什么也没显示。但重新启动Solr后,它会在Solr UI上正确显示预期结果。

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

我的Solr版本:5.2.1 请参考下面的Java代码

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());
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您需要在文档索引过程完成后提交。因此,如果您重新启动solr,它将执行自动提交。如果你不想重启Solr。你可以试试

  1. 重新加载核心(请参阅以下网址,根据您更改网址名称)

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

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