使用 SolrJ 索引文档

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

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

  1. 重装内核(参考下文URL,根据自己的情况更改URL名称)

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

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