1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Haystack for Django REST Framework
==================================
Build status
------------
[](https://travis-ci.org/inonit/drf-haystack)
[](https://coveralls.io/github/inonit/drf-haystack?branch=master)
[](https://badge.fury.io/py/drf-haystack)
[](http://drf-haystack.readthedocs.io/en/latest/?badge=latest)
About
-----
Small library which tries to simplify integration of Haystack with Django REST Framework.
Fresh [documentation available](https://drf-haystack.readthedocs.io/en/latest/) on Read the docs!
Supported versions
------------------
- Python 2.7, 3.4 and above
- Django 1.11 and 2.1
- Haystack 2.8 and above
- Django REST Framework 3.7 and above
Installation
------------
$ pip install drf-haystack
Supported features
------------------
We aim to support most features Haystack does (or at least those which can be used in a REST API).
Currently we support:
- Autocomplete
- Boost (Experimental)
- Faceting
- Geo Spatial Search
- Highlighting
- More Like This
Show me more!
-------------
```
from drf_haystack.serializers import HaystackSerializer
from drf_haystack.viewsets import HaystackViewSet
from myapp.search_indexes import PersonIndex # BYOI™ (Bring Your Own Index)
# Serializer
class PersonSearchSerializer(HaystackSerializer):
class Meta:
index_classes = [PersonIndex]
fields = ["firstname", "lastname", "full_name"]
# ViewSet
class PersonSearchViewSet(HaystackViewSet):
index_models = [Person]
serializer_class = PersonSerializer
```
That's it, you're good to go. Hook it up to a DRF router and happy searching!
|