2017-04-17 124 views
0

我需要通过HTTP请求调用Solr JSON请求API,而不是使用Curl命令。通过HTTP请求调用Solr JSON请求API

例如样品curl命令,这将给Solr的结果:

curl http://localhost:port/solr/collection/select -d 'json={query:"id:1"}&wt=json' 

我知道相当于Solr的HTTP查询 http://localhost:port/solr/collection/select?q=id:1

但我原来的Solr的JSON请求API有多个参数,并想知道如果我可以直接调用它使用HTTP(不需要转换上面的查询)。

类似:http://localhost:port/solr/collection/select?json={query:"id:1"}

我怎样才能做到这一点?可能吗?

+0

你的意思是直接把HTTP URL到浏览器?或寻找一个客户端,可以采取完整的JSON作为参数? –

+0

如果您不能使用已存在的客户端(如SolrJ)或在Solr普通URL中翻译所有的JSON请求,您只需将您的curl HTTP帖子移动到用您必须使用的编程语言完成的等价请求中即可。 – freedev

+0

@SabirKhan我开放的选项(想知道所有可能的方式)。但我不确定在浏览器中是否有作为直接HTTP网址的选项。请纠正我,如果我错了 – Riya

回答

0

curl -d(或--data)仅向Solr发送POST请求。如果你想要做同样在Java刚:

  • 使用您喜欢的HTTP库(如Apache Http Client或任何其他),并通过使用它的API将其设置为POST类型请求,并添加所需的数据。
  • 或者你可以只使用普通的Java,它只是更冗长,here就是一个例子
+0

它的工作。谢谢 – Riya