我关注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服务器上配置的内容?
相关答案似乎没有解决方案:
答案 0 :(得分:2)
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
答案 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");