如何将JSON对象发送到solr collection usinc cUrl
我正在使用Windows 10。
curl -X POST -H "Content-Type:application/json" "http://localhost:8983/solr/solr_sample/update/json/docs" --data-binary "{'id': '1','title':'Doc 1'}"
当我使用这种格式时,我收到了一些警告信息:
curl -X POST -H 'Content-Type:application/json' 'http://localhost:8983/solr/sorl_sample/update/json/docs' --data-binary '{"id": "1","title":"Doc 1"}'
curl: (1) Protocol "'http" not supported or disabled in libcurl
curl: (3) [globbing] unmatched close brace/bracket in column 14
我使用“ '
来解决它当我使用第一个网址发送请求时,我收到了此回复:
{
"responseHeader":{
"status":0,
"QTime":112}}
但是当我尝试通过搜索获得一些结果时,我无法在 docs []
中看到任何对象curl -X GET "http://localhost:8983/solr/solr_sample/select?q=*:*"
结果:
{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
"q":"*:*"}},
"response":{"numFound":0,"start":0,"docs":[]
}}
当我使用Solr UI时,我可以毫无问题地添加JSON对象,也可以在终端中查看结果
答案 0 :(得分:1)
您必须提交更新。将commit true或commitWithin 1000添加到请求中,例如:克。
curl -X POST -d' {"添加":{" doc":{" id":" delete.me& #34;"标题":" change.me"}" commitWithin":1000}}' -H" Content-Type:application / json" http://localhost:8983/solr/solr_sample/update
也有效:
curl -X POST -d' {"添加":{" doc":{" id":" delete.me& #34;"标题":" change.me"}}}' -H" Content-Type:application / json" http://localhost:8983/solr/solr_sample/update?commit=true