skip to navigation
skip to content

pysolr 3.3.0

Lightweight python wrapper for Apache Solr.

Latest Version: 3.7.0

pysolr is a lightweight Python wrapper for Apache Solr. It provides an interface that queries the server and returns results based on the query.




  • Python 2.6 - 3.3
  • Requests 2.0+
  • Optional - lxml
  • Optional - simplejson
  • Optional - cssselect for Tomcat error support


sudo python install or drop the file anywhere on your PYTHONPATH.


Basic usage looks like:

# If on Python 2.X
from __future__ import print_function
import pysolr

# Setup a Solr instance. The timeout is optional.
solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10)

# How you'd index data.
        "id": "doc_1",
        "title": "A test document",
        "id": "doc_2",
        "title": "The Banana: Tasty or Dangerous?",

# You can optimize the index when it gets fragmented, for better speed.

# Later, searching is easy. In the simple case, just a plain Lucene-style
# query is fine.
results ='bananas')

# The ``Results`` object stores total results found, by default the top
# ten most relevant results and any additional data like
# facets/highlighting/spelling/etc.
print("Saw {0} result(s).".format(len(results)))

# Just loop over it to access the results.
for result in results:
    print("The title is '{0}'.".format(result['title']))

# For a more advanced query, say involving highlighting, you can pass
# additional options to Solr.
results ='bananas', **{
    'hl': 'true',
    'hl.fragsize': 10,

# You can also perform More Like This searches, if your Solr is configured
# correctly.
similar = solr.more_like_this(q='id:doc_2', mltfl='text')

# Finally, you can delete either individual documents...

# ...or all documents.


pysolr is licensed under the New BSD license.

Running Tests

The script will automatically perform the steps below and is recommended for testing by default unless you need more control.

Running a test Solr instance

Downloading, configuring and running Solr 4 looks like this:


Running the tests

The test suite requires the unittest2 library:

Python 2:

python -m unittest2 tests

Python 3:

python3 -m unittest tests
File Type Py Version Uploaded on Size
pysolr-3.3.0-py2.py3-none-any.whl (md5) Python Wheel 2.7 2015-02-03 14KB
pysolr-3.3.0.tar.gz (md5) Source 2015-02-03 13KB