使用http post apache solr插入新文档json

时间:2015-09-20 21:43:02

标签: json http post solr

我有什么:Apache Solr 5.2.1

我想要什么:在我定义的特定核心中添加新文档

示例:solr核心的地址 - >

http://IP_ADDRESS:8984/solr/myCustom_core/

我想直接从浏览器的网址栏中将{“id”:“00001”,“title”:“我的标题”}形成的文档json添加到上面的核心。

问题: 我试图以这样的方式解决这个问题:

 http://IP_ADDRESS:8984/solr/myCustom_core/update?wt=json&{add:{"id":"00001","title":"my title"}}&commit=true

浏览器的响应是:

{"responseHeader":{"status":0,"QTime":88}}

但是,当我在服务器端检查时,不会添加新条目。

相反,如果我尝试使用Solr UI中提供的submit命令添加这样的文档,它就可以工作。

有人能为我提供正确的方法来构建正确的网址吗? 感谢

编辑:感谢MatsLindh我用这个解决了我的问题:

http://IP_ADDRESS:PORT/solr/myCustom_core/update?stream.body=<add><doc><field name="exampleField">example value</field></doc></add>&commit=true

1 个答案:

答案 0 :(得分:3)

您可以通过GET变量use stream.body to send an arbitrary content stream而不是使用POST(或常规正文)。

请务必妥善处理您在网址中使用的内容。

在提交的内容变得可搜索之前,您还必须通过请求中的commit=true或发出单独的提交请求来执行提交。