Python

Solr 包含专门用于 Python 响应编写器 的输出格式,但 JSON 响应编写器 更加强大。

简单的 Python

进行查询非常简单。首先,告诉 Python 你需要建立 HTTP 连接。

from urllib2 import *

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

connection = urlopen('http://localhost: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 是一种更强大的响应格式,Python 自 2.6 版以来在其标准库中提供对它的支持。

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

from urllib2 import *
import json
connection = urlopen('http://localhost: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']