Solrj Hello world - / solr / update Not Found

时间:2016-06-06 07:36:53

标签: java solr solrj

我关注tutorial to use Solrj(并更新到最近的Solrj版本6.0.1),

1)已下载Solr

2)使用

从命令行启动solr服务器
  

solr-6.0.1 \ bin> solr start

似乎一切正常,http://localhost:8983/solr/可以在浏览器中查看

3)执行HelloWorld Solrj代码

public class SolrClientHelloWorld {

    public static void main(String args[]) {
        try {
            HttpSolrClient server = new HttpSolrClient (
                    "http://localhost:8983/solr/");
            SolrInputDocument doc = new SolrInputDocument();
            doc.addField("id", "tsetstst3r4", 1.0f);
            doc.addField("name", "doc1", 1.0f);
            doc.addField("price", 10);
            server.add(doc);        
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

异常

  

org.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:   来自http://localhost:8983/solr的服务器的错误:预期的mime类型   application / octet-stream但是得到了text / html。   错误404未找到

HTTP错误   404

访问/ solr / update时出现问题。原因:

    Not
Found

     

在   org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:545)     在   org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:241)     在   org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:230)     在   org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:149)     在org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:173)     在org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:138)     在org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:152)     在SolrClient.main(SolrClient.java:16)

环境:Windows 10,java版本" 1.8.0_91"

我是否遗漏了在Solr服务器上配置的内容?

相关答案似乎没有解决方案:

3 个答案:

答案 0 :(得分:2)

在编制索引之前需要做两件事。

1.您必须有一个核心或集合来索引SOLR中的数据 2.您必须在SOLR基本URL中添加核心/集合名称

实施例

1。在SOLR中启动并创建核心/集合

SOLR独立模式(核心):

bin>solr start
bin>solr create_core -c test -p 8983 -d basic_configs

SOLR云模式(集合):

bin>solr start -cloud
bin>solr create -c test -p 8983 -d basic_configs

注意:请更新schema.xml

中的字段

2.SOLRJ

更新上述行
HttpSolrClient server = new HttpSolrClient (
                    "http://localhost:8983/solr/");

HttpSolrClient server = new HttpSolrClient (
                    "http://localhost:8983/solr/test");

注意:我的核心/集合名称是test

答案 1 :(得分:0)

还需要创建一个核心,例如名称为test:

  

solr create -c test

并相应地访问网址

HttpSolrClient server = new HttpSolrClient (
                    "http://localhost:8983/solr/test");

答案 2 :(得分:0)

要将Solr用作搜索引擎,您必须在schema.xml文件中使用必需的字段设置制作正确的核心。

你也可以使用相同的命令

bin/solr create -help

bin/solr create [-c name] [-d confdir] [-n configName] [-shards #] [-replicationFactor #] [-p port]

通过使用上面的命令,您可以在名为“test”的核心上创建

bin/solr create -c test

然后你可以通过参考

来使用核心
HttpSolrClient server = new HttpSolrClient (
                "http://localhost:8983/solr/test");