使用python请求请求solr
问题描述:
我是solr的初学者,我试图检索我的集群中所有文档的所有id。使用python请求请求solr
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}}
如果你们可以帮我弄清楚它来自哪里。
答
书链接列表指出,需要在JSON要发送的所有参数...
它展示如何将它们添加在JSON
Json API Parameter name mapping
这说明什么可供选择JSON API Parameter
为standard request parameter
。
是mpm_i还是mom_i in fl? –
重新键入当它的mom_i我编辑我的职务 – mel
json_query =抱歉,我犯了一个错误{ 查询: '*:*', FL: 'mom_i', 行:10 } ....试试这个... –