Tutorial¶
Installation¶
pip install django-elastic
Settings¶
INSTALLED_APPS = (
...
'delastic',
)
Optional elasticsearch settings, Defaults to the following
DJANGO_ELASTIC = {
'hosts': ['localhost'],
'port': 9200,
'index': 'django',
}
Model¶
An example model
class Article(models.Model):
title = models.CharField(max_length=500, blank=True, null=True)
desc = models.TextField(blank=True, null=True)
created = models.DateTimeField(blank=True, null=True)
updated = models.DateTimeField(blank=True, null=True)
image = models.URLField(max_length=500, blank=True, null=True)
url = models.URLField(max_length=500, blank=True, null=True)
active = models.BooleanField(default=True)
def __unicode__(self):
return self.title
Indexer¶
The simplest example of an indexer for the model.
from delastic.indexer import ModelIndex
class ArticleIndex(ModelIndex):
class Meta:
model = Article
View¶
TODO...
Management Commands¶
Create mapping in elasticsearch
./manage.py create_elastic_mapping
Index models in elasticsearch
./manage.py create_elastic_index