solrorm : A sort-of solr ORM for python

  • solrpy – deprecated
  • solrorm – currently in dev



The first step to interact with solr using solrorm is to define a core.
Core objects can be initialized using the solrorm.cores.Core class.


from solrorm.cores import Core

my_core = Core(host='', port = 8983, core_name = 'core_name_here', fields = ['title', 'authors'])


queries helps us to filter records from solr. Using solrorm, we can pass arguments and various ‘magic’ arguments to filter records.
A few example are shown below.

results = my_core.objects.query(organizations="twitter inc", __tag ="it", sentiment="Positive").get(start=10, rows=1)

Double underscore (__) after an argument name means that is is negated. In this case, it means source_tag != “it_news”

‘ __in’ after an argument specifies range query. It can be used to filter for example, records in a certain range of dates.


After a query is executed we will get a response object. The response object will have the following fields.

1) docs : the docs returned from solr

2) total : total counts matching in solr

3) count : the size of a page (useful for pagination)

The response object also offers a handy transform method. Please refer the attached example file to find the usage.


View Github