UNKNOWN
Project description
# UNDER DEVELOPEMNT
## django-elastic (delastic)
* Simple way to index/delete/update django models
* Queries Elasticsearch only, not hitting the Django database
* Define the mapping with elasticsearch-dsl, defaults to basic field types.
* Override field values.
* Define if a model instance should be index or not
TODO:
* Search view:
* Elasticsearch based pagination
* Elasticsearch-dsl queries
* Adds search filters and possible values in the template context
* Support multiple models per doc_type
## Requirements
* elasticsearch-dsl
## 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
## django-elastic (delastic)
* Simple way to index/delete/update django models
* Queries Elasticsearch only, not hitting the Django database
* Define the mapping with elasticsearch-dsl, defaults to basic field types.
* Override field values.
* Define if a model instance should be index or not
TODO:
* Search view:
* Elasticsearch based pagination
* Elasticsearch-dsl queries
* Adds search filters and possible values in the template context
* Support multiple models per doc_type
## Requirements
* elasticsearch-dsl
## 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for django_elastic-0.0.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0310fc5afd895172b5c0fb963c87f42b4681444fb084ca8fb18493d698920d39 |
|
MD5 | 527858466e65a658a310c503e92abb1a |
|
BLAKE2b-256 | 6afa3a9b1b7c0c07f631d5af6b3bbb2725b7d6e6ac8d6cd124e23488ab0eeda2 |