我是solr的初学者,我正在尝试检索群集中所有文档的所有ID。
http://10.126.10.10:8980/solr/cineinfo/select?fl=mom_i&q=*:*
当我点击此网址时,我收到了此回复:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="q">*:*</str>
<str name="fl">mom_i</str>
</lst>
</lst>
<result name="response" numFound="1380" start="0">
<doc>
<int name="mom_i">2730232</int>
</doc>
<doc>
<int name="mom_i">2034019</int>
</doc>
<doc>
<int name="mom_i">2022020</int>
</doc>
<doc>
<int name="mom_i">2000015</int>
</doc>
<doc>
<int name="mom_i">2000025</int>
</doc>
<doc>
<int name="mom_i">2100022</int>
</doc>
<doc>
<int name="mom_i">2000615</int>
</doc>
<doc>
<int name="mom_i">2400027</int>
</doc>
<doc>
<int name="mom_i">2020029</int>
</doc>
<doc>
<int name="mom_i">2000128</int>
</doc>
</result>
</response>
我试图使用python请求一个solR集群。所以我做了一个函数来检索所有的mom_i:
def get_all_mom(number_of_document, solr_url = _solr_url):
headers = {'content-type': "application/json" }
json_query = {
'query': '*:*',
'fl':'mom_i',
'rows': number_of_document
}
response = requests.post(solr_url, data=json.dumps(json_query), headers=headers)
response_json = response.json()
print response_json
return response_json
问题是,当我调用该函数时,我没有得到浏览器中的结果我有一条错误消息:
{u'responseHeader': {u'status': 400, u'QTime': 0, u'params': {u'json': u'{"query": "*:*", "rows": "1380"}'}}, u'error': {u'msg': u'Unknown top-level key in JSON request : fl', u'code': 400}}
如果你们能帮助我找出它的来源。
答案 0 :(得分:1)
书籍链接列出了需要在json中发送的所有参数...
它展示了如何在JSON
Json API Parameter name mapping
它显示了JSON API Parameter
standard request parameter
中可用的选项。