Python

Solr 包含一个专门为 Python 响应写入器准备的输出格式,但 JSON 响应写入器更加强大。

简单的 Python

发出查询很简单。首先,告诉 Python 您需要建立 HTTP 连接。

from urllib2 import *

现在打开与服务器的连接并获取响应。wt 查询参数告诉 Solr 返回 Python 可以理解的格式的结果。

connection = urlopen('https://127.0.0.1:8983/solr/collection_name/select?q=cheese&wt=python')
response = eval(connection.read())

现在,解释响应只是提取您需要的信息的问题。

print response['response']['numFound'], "documents found."

# Print the name of each document.

for document in response['response']['docs']:
  print "  Name =", document['name']

使用 JSON 的 Python

JSON 是一种更强大的响应格式,自 2.6 版以来,Python 的标准库中就对其提供了支持。

发出查询与之前几乎相同。但是,请注意,wt 查询参数现在是 json(如果未指定 wt 参数,这也是默认值),并且响应现在由 json.load() 解析。

from urllib2 import *
import json
connection = urlopen('https://127.0.0.1:8983/solr/collection_name/select?q=cheese&wt=json')
response = json.load(connection)
print response['response']['numFound'], "documents found."

# Print the name of each document.

for document in response['response']['docs']:
  print "  Name =", document['name']