Fusion Server

Version 4.2
How To
Documentation
    Learn More

      Using Python

      Table of Contents

      Solr includes an output format specifically for Python, but JSON output is a little more robust.

      Simple Python

      Making a query is a simple matter. First, tell Python you will need to make HTTP connections.

      from urllib2 import *

      Now open a connection to the server and get a response. The wt query parameter tells Solr to return results in a format that Python can understand.

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

      Now interpreting the response is just a matter of pulling out the information that you need.

      print response['response']['numFound'], "documents found."
      
      # Print the name of each document.
      
      for document in response['response']['docs']:
        print "  Name =", document['name']

      Python with JSON

      JSON is a more robust response format, and Python has support for it in its standard library since version 2.6.

      Making a query is nearly the same as before. However, notice that the wt query parameter is now json (which is also the default if no wt parameter is specified), and the response is now digested by 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']