Elasticsearch client with Django support.
Project description
Gum is a Django app for integrate Elasticsearch 1.x with Django. You can find documentation at https://django-gum.readthedocs.org.
Quick start
1 Install using pip:
pip install django-gum
2 Add “gum” to your INSTALLED_APPS settings like this:
INSTALLED_APPS += ('gum',)
3 Add Elasticsearch configuration to your settings like this:
GUM_ELASTICSEARCH_URLS = ["http://127.0.0.1:9200/"] GUM_ELASTICSEARCH_INDEX = ".gum-tests"
List of available configuration variables:
GUM_DEBUG (boolean)
GUM_USE_CELERY (boolean)
GUM_ELASTICSEARCH_URLS (list)
GUM_ELASTICSEARCH_INDEX (string)
4 Create an index.py in your app, with a content like this:
from gum.indexer import MappingType, indexer class PostMappingType(MappingType): def document(self, instance): tags_text = " ".join(map(lambda x: x.label, instance.tags.all())) return { "title": instance.title, "content": instance.content, "text": "{} {} {}".format(instance.title, instance.content, tags_text) } def mapping(self): return { "properties": { "title": { "type": "string", "store": True, }, "content": { "type": "string", "store": True, }, "text": { "type": "string", "store": True, } } } indexer.register(Post, PostMappingType)
5 Update Elasticsearch index:
./manage.py gum --update-index
You can specify the models you want to index:
./manage.py gum --update-index blog.Post
Searching
You can perform Elasticsearch searches (accessing search method) using elasticsearch model attribute:
response = Post.elasticsearch.search(body={ "query": { "match_all": {} } })
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 Distribution
File details
Details for the file django-gum-1.2.tar.gz
.
File metadata
- Download URL: django-gum-1.2.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a5dc0d6cf66313661c5a22e434080c7c5b843346702eb33f150906c5ce8e1d7 |
|
MD5 | 20c40722d057a6611cad930cd666d9a3 |
|
BLAKE2b-256 | b34c93347c8333273eb89380830a137619c7444e043aa9f4f26e0a508c603b57 |