gpt4 book ai didi

java - solrconfig.xml 更改后 SolrJ 中出现异常

转载 作者:行者123 更新时间:2023-12-01 05:03:14 26 4
gpt4 key购买 nike

所以!这是我的第一个问题,所以请友善;)

我一直在使用 Solr,最近我发现它 几乎 根本不安全。所以在浏览器中你可以写 http://HOST:PORT/solr/update?stream.body=<delete><query>*:*</query></delete>&commit=true并轻松删除我的索引。

阅读 Solr wiki,我编辑了 solrconfig.xml 文件,添加了我自己的 RequestHandler 进行更新。

<requestHandler name="/theupdate" 
class="solr.XmlUpdateRequestHandler">
</requestHandler>

..而不是默认的..

<requestHandler name="/update" 
class="solr.XmlUpdateRequestHandler">
</requestHandler>

现在,我在向服务器添加文档集合时(提交之前)遇到了此异常。

org.apache.solr.client.solrj.SolrServerException: Server at http://HOST:PORT/solr returned non ok status:400, message:Missing solr core name in path
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:328)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:211)
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:69)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:54)

这是我的索引代码:

SolrServer server = new HttpSolrServer("http://HOST:PORT/solr");
Collection<SolrInputDocument> colection = new ArrayList<SolrInputDocument>();
SolrInputDocument solrDoc = new SolrInputDocument();
OracleCachedRowSet rsX = getDataFromDB(); // not actual line
while (rsX.next()) {
solrDoc.addField("id", rsX.getLong(1), 1.0f);
solrDoc.addField("name", rsX.getString(2), 1.0f);
colection.add(solrDoc);
}
server.add(colection); //<-- the exception is thrown here!
server.commit();
colection.clear();

注意:我读到了一些关于通过防火墙和/或 servlet 容器中的基本身份验证来保护 Solr 的内容,我也在研究该内容...

提前致谢!

最佳答案

我一直在寻找 HttpSolrServer 上可用的方法以及 SolrServer 上的各种 add 方法在 SolrJ 库中,不幸的是,我没有看到任何可以在 SolrJ 中为 updateHandler 覆盖或指定不同名称的地方。它假设可以通过 http://HOST:PORT/solr/update

获得

关于java - solrconfig.xml 更改后 SolrJ 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13086005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com