Django elasticsearch集成。
项目描述
这是一个Django应用程序,帮助将Django与elasticsearch集成。它基于elasticsearch-dsl构建。
该项目旨在支持Python 3和Django 1.8(至少)。
该库处于开发中,请谨慎使用,因为在不稳定版本中API可能会更改。
快速入门
配置您的模型以进行索引
from django.db import models
from el.models import Indexed
class Article(models.Model, Indexed):
title = models.CharField(max_length=78)
@classmethod
def get_indexable(cls):
return cls.objects.all()
@classmethod
def configure_mapping(cls, mapping):
# mapping is an elasticsearch_dsl Mapping object
mapping.field('title', 'string')
return mapping
从现在起,Article模型将被自动发现和索引。
更新搜索索引
./manage.py update_index
使用elasticsearch_dsl进行查询
# articles is a list of an Article instances
articles = Article.search().query('match', title="Bob's article").execute()
# articles is a list of elasticsearch_dsl hits
articles = Article.search().query('match', title="Bob's article").execute(cast=False)
与elasticsearch_dsl相比,django-el提供了一个修改后的Search对象,默认情况下返回Django模型实例而不是原始的elasticsearch结果。您可以通过使用cast参数来控制此功能。
安装
使用pip将django-el作为常规Python包安装
pip install django-el
配置
Django-el是基于elasticsearch_dsl库构建的,并通过settings.py提供Django风格的连接配置。
ELASTICSEARCH_CONNECTIONS = {
'default': {
'hosts': ['127.0.0.1:9200'],
'serializer': 'project.serializers.MySerializer',
}
}
您可以使用ELASTICSEARCH_CONNECTIONS设置定义项目连接。它只是对低级的elasticsearch_dsl.connections.connections.create_connection函数的高级接口。
键(默认情况下,例如)是连接别名,其值是 create_connection 参数。
项目详情
关闭
django-el-0.2.2.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 61fc64def31e53358d0fb45fb37b89bb2ef2ddbf76dd9c5eda1a881593549b01 |
|
| MD5 | 6f8ae4aa8ee924147c12dfa6d94d882a |
|
| BLAKE2b-256 | 6a3fe89c2940412a2e56a2dfb4a59725efa64941f6da968cbfd7fc9f9db16078 |