Skip to content
This repository

Solr Search Engine ORM for Django

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 djangosolr
Octocat-spinner-32 example
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.md
Octocat-spinner-32 setup.py
README.md

Solr Search Engine ORM for Django

Usage

Define

from djangosolr import documents

class Movie(documents.Document):
   id = documents.IntegerField(primary_key=True)
   title = documents.CharField()
   director = documents.CharField()
   text = TextField()

Define from an existing django model

from djangosolr import documents
from myapp import models

class Movie(documents.Document):
    class Meta:
        model = models.Movie

Save some movies

Movie(id="1", title='Jurassic Park I', director='Steven Spielberg').save()
Movie(id="2", title='Jurassic Park III', director='Steven Spielberg').save()

Save many movies at once

from djangosolr import solr

solr.save([m1, m2])

Get and update

m = Movie.documents.get(2)
m.director = 'Joe Johnston'
m.save()

Get all movies

ms = Movie.documents.all()

Get the first 10 Steven Spielberg's movies

ms = Movie.documents.q(director__exact='Steven Spielberg').sort('title')[:10]

Get Spielberg's or Johnston's movies

ms = Movie.documents.q(Q(text='spielberg') | Q(text='johnston'))

Delete a movie

m = Movie.documents.get(1)
m.delete()

Delete all movies

Movie.documents.clear()

Getting It

You can get Django Solr by using pip or easy_install

$ pip install django-solr

or $ easy_install django-solr

Comming Soon

  • Facet
  • More Like This
Something went wrong with that request. Please try again.