Ostatnie dni spędzam na nauce Solra i rozwijaniu Djangowego kodu wykorzystującego właśnie z ten indekser. Ponieważ tworzenie zapytań może być naprawdę męczące i generować wiele błędów, napisałem w wolnym czasie parę linijek które powinny pomóc. API jest oczywiście wzorowane na Django ORM. Komunikacją z Solr zajmuje się moduł pysolr.
Oto przykład zapytania:
q = Query() q.filter(OR(title='Hello world!', description='Hello world!'), date__lt=dt) q.exclude(photo=True, video=False) q[:2] print q.pprint()
które generuje następujący kod:
((description:"Hello world!") OR (title:"Hello world!")) AND (date:"LESS_THAN(to_sorl_format)") AND (NOT (contains_photo:"true") OR (contains_video:"true"))