Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java中的Solrj连接到Solr时出错_Java_Solr_Lotus Domino_Solrj - Fatal编程技术网

使用Java中的Solrj连接到Solr时出错

使用Java中的Solrj连接到Solr时出错,java,solr,lotus-domino,solrj,Java,Solr,Lotus Domino,Solrj,在我的本地机器上,我安装了Solr v8.4.1来进行一些测试,并创建了一个内核,使用json文件添加了一些数据,并且可以连接到上的管理客户端 我现在正尝试使用LotusDomino代理通过SolrjJava连接到该实例 solrServer = new HttpSolrServer("http://127.0.0.1:8983/solr/"); solrServer.setSoTimeout(10000); solrServer.setConnectionTi

在我的本地机器上,我安装了Solr v8.4.1来进行一些测试,并创建了一个内核,使用json文件添加了一些数据,并且可以连接到上的管理客户端

我现在正尝试使用LotusDomino代理通过SolrjJava连接到该实例

 solrServer = new HttpSolrServer("http://127.0.0.1:8983/solr/");
        solrServer.setSoTimeout(10000);
        solrServer.setConnectionTimeout(10000);
        solrServer.setDefaultMaxConnectionsPerHost(100);
        solrServer.setMaxTotalConnections(100);
        solrServer.setFollowRedirects(false);
        solrServer.setAllowCompression(true);
        solrServer.setMaxRetries(1);
       // solrServer.setParser(new XMLResponseParser());

        System.out.println(solrServer.getBaseURL());

        SolrQuery query = new SolrQuery();
        query.setQuery( "*:*" );
        try {
          System.out.println("queryyyy");
            QueryResponse rsp = solrServer.query( query );

            Iterator<SolrDocument> iter = rsp.getResults().iterator();

            while (iter.hasNext()) {
              SolrDocument resultDoc = iter.next();

              String id = (String) resultDoc.getFieldValue("id"); //id is the uniqueKey field
              System.out.println(id);
             // if (rsp.getHighlighting().get(id) != null) {
              //  List<String> highlightSnippets = rsp.getHighlighting().get(id).get("content");
             // }
            }


        } catch (SolrServerException e1) {
            System.out.println("error here");
            e1.printStackTrace();
        }
它似乎无法通过此URL连接到实例


任何想法都将不胜感激。

请在core中找到可用数据的屏幕截图

public void getResult() throws SolrServerException, IOException {

        final SolrClient client = getSolrClient();
        SolrQuery params = new SolrQuery();
        params.setQuery("*:*");
        try {
            QueryResponse queryResponse = client.query(params);
            Iterator<SolrDocument> iter = queryResponse.getResults().iterator();

            while (iter.hasNext()) {
                SolrDocument resultDoc = iter.next();
                String id = (String) resultDoc.getFieldValue("id");
                Collection<Object> manufacturerS = resultDoc.getFieldValues("manufacturer_s");
                String siteName = (String) resultDoc.getFieldValue("site_name");
                String title = (String) resultDoc.getFieldValue("title");

                System.out.println("Solr Response -> id :: " + id + " manufacturerS :: " + manufacturerS
                        + " siteName :: " + siteName + " title :: " + title);
            }

        } catch (SolrServerException e1) {
            e1.printStackTrace();
        }

    }

    private SolrClient getSolrClient() {
        final String solrUrl = "http://10.224.143.172:8983/solr/knowledge_combined";
        return new HttpSolrClient.Builder(solrUrl).withConnectionTimeout(10000).withSocketTimeout(60000).build();
    }
下面是从核心获取数据的代码

public void getResult() throws SolrServerException, IOException {

        final SolrClient client = getSolrClient();
        SolrQuery params = new SolrQuery();
        params.setQuery("*:*");
        try {
            QueryResponse queryResponse = client.query(params);
            Iterator<SolrDocument> iter = queryResponse.getResults().iterator();

            while (iter.hasNext()) {
                SolrDocument resultDoc = iter.next();
                String id = (String) resultDoc.getFieldValue("id");
                Collection<Object> manufacturerS = resultDoc.getFieldValues("manufacturer_s");
                String siteName = (String) resultDoc.getFieldValue("site_name");
                String title = (String) resultDoc.getFieldValue("title");

                System.out.println("Solr Response -> id :: " + id + " manufacturerS :: " + manufacturerS
                        + " siteName :: " + siteName + " title :: " + title);
            }

        } catch (SolrServerException e1) {
            e1.printStackTrace();
        }

    }

    private SolrClient getSolrClient() {
        final String solrUrl = "http://10.224.143.172:8983/solr/knowledge_combined";
        return new HttpSolrClient.Builder(solrUrl).withConnectionTimeout(10000).withSocketTimeout(60000).build();
    }
代码的输出为:


我设法找出了我的问题所在

我试图连接到SolrV8.4.1版本,但使用的是版本4中的SolrjJAR。当我将SolrJ jar更新为v8.4.1时,它开始工作


感谢您的回复。

url中似乎缺少核心名称。您是否可以尝试将核心名称添加到url,就像您在本地安装了Solr,并且您的代理在服务器上运行一样?