当前位置: 首页 > 知识库问答 >
问题:

Solrj Hello world-/solr/update未找到

颜熙云
2023-03-14

我按照教程使用Solrj(并更新到最新的Solrj版本6.0.1),

1) 下载Solr

2) 使用从命令行启动solr server

solr-6.0.1\bin

看起来一切正常,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$Remote teSolrExcture:错误从服务器在http://localhost:8983/solr:预期mime类型应用程序/八位流,但得到文本/html。错误404未找到

访问 /solr/update.问题原因:

    Not
Found

在org。阿帕奇。索尔。客户索尔杰。impl。HttpSolrClient。executeMethod(HttpSolrClient.java:545)位于org。阿帕奇。索尔。客户索尔杰。impl。HttpSolrClient。请求(HttpSolrClient.java:241)。阿帕奇。索尔。客户索尔杰。impl。HttpSolrClient。请求(HttpSolrClient.java:230)。阿帕奇。索尔。客户索尔杰。SolrRequest。org上的进程(SolrRequest.java:149)。阿帕奇。索尔。客户索尔杰。独行侠。在org上添加(SolrClient.java:173)。阿帕奇。索尔。客户索尔杰。独行侠。在org上添加(SolrClient.java:138)。阿帕奇。索尔。客户索尔杰。独行侠。在SolrClient上添加(SolrClient.java:152)。main(SolrClient.java:16)

环境:Windows 10,java版本“1.8.0_91”

我错过了在Solr服务器上配置的东西吗?

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

共有3个答案

宫坚
2023-03-14

为了使用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");
司徒俊健
2023-03-14

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

solr create-c测试

并相应地访问url

HttpSolrClient server = new HttpSolrClient (
                    "http://localhost:8983/solr/test");
霍锦
2023-03-14

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

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

注意:请更新schema.xml中的字段

从中更新上面的行

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

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

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

 类似资料:
  • 我的架构是 在此输入代码

  • 我正在尝试在Tomcat上集成solr。我从几个博客上试过 http://www.beingjavaguys.com/2013/01/if-you-want-to-configure-solr4_19.html http://wiki.apache.org/solr/solrtomcat localhost:4040/solr-4.4.0 关于尝试从tomcat manager启动webapp及其

  • 我得到的警告和错误: 我的log4j.properties文件: log4j文档没有将kafka列为支持的附加程序。然而,kafka文档显示log4j很容易配置。 log4j是否需要某种插件来支持Kafka? 我使用以下来源尝试了不同的配置:http://kafka.apache.org/07/quickstart.html和KafkLog4JAppender不将应用程序日志推送到kafka主题。

  • 我有一个更新查询: 我试图在集成测试中使用它: 但日志中没有显示与查找器相关的sql: 是否由于某些缓存原因而被忽略? 然后,如果我向findByEmail和findByLogin查找器添加一个调用,如下所示: 另一件让我困惑的事情是它显示了一个Limit2子句,尽管它应该只返回一个Admin对象。 我以为返回一个域对象时总会有一个限制1。这是对Spring数据的错误假设吗? 当粘贴到MySQL客

  • 我试图使用JDBC更新一个MSSQL实例,使用一个预先准备好的语句,在给定列名、要更新的值和更新的值时,我创建了一个方法来更新表中的任何记录。 第一个print语句打印出正确的值,这样我就知道输入是正确的,第二个print语句让我知道1行受影响,这是正确的。 如果我在Management Studio中运行脚本,脚本会运行良好并更新表,但如果我从java项目中运行脚本,则不会更新任何内容,也不会生

  • 当我运行我的Android应用程序从eclipse,我得到这个错误。 从日蚀错误复制粘贴 然而,我的亚洲开发银行就在它说的不在的地方。 出了什么问题,如何解决? 我将cd放入adb所在的目录()中,输入adb并显示 adb是绿色的,这意味着它是可执行的,对吗? 例如,dx也是绿色的,当我在命令提示符中输入dx时,它工作了... adb怎么了?