将Elasticsearch DSL与Django REST framework集成。
项目描述
以尽可能短的方式将Elasticsearch DSL与Django REST framework集成,尽可能少地付出努力。
该包提供了视图、序列化器、过滤器后端、分页和其他实用附加组件。
您应使用django-elasticsearch-dsl来定义您的Elasticsearch文档。
文档
文档可在Read the Docs上找到。
请确保阅读常见问题解答。
先决条件
Django 2.2, 3.1和3.2。
Python 3.6, 3.7, 3.8和3.9。
Elasticsearch 6.x, 7.x。对于旧版本,请使用django-elasticsearch-dsl-drf版本0.18。
主要功能和亮点
地理空间过滤器后端(实现了以下过滤器:geo_distance、geo_polygon 和 geo_bounding_box)
地理空间排序过滤器后端(实现了以下过滤器:geo_distance)
高亮后端.
你需要类似的GraphQL工具吗?请查看 graphene-elastic。
演示
在线演示
检查 实时演示应用(Django 3.1 + Django REST Framework 3.12 + Elasticsearch 7.5),托管在Heroku和bonsai.io。
本地演示
一个前端演示(基于React)可用。有关更多信息,请参阅 专用文档。
为了启动评估,请在本地克隆存储库并运行 docker-compose。
docker-compose up
它将在以下位置设置
Elasticsearch 在 http://localhost:9200
Django REST framework 在 http://localhost:8000
React 在 http://localhost:3000
安装
从 PyPI 安装最新稳定版本
pip install django-elasticsearch-dsl-drf
或从 GitHub 安装最新稳定版本
pip install https://github.com/barseghyanartur/django-elasticsearch-dsl-drf/archive/stable.tar.gz
将 rest_framework、django_elasticsearch_dsl 和 django_elasticsearch_dsl_drf 添加到 INSTALLED_APPS
INSTALLED_APPS = ( # ... # REST framework 'rest_framework', # Django Elasticsearch integration 'django_elasticsearch_dsl', # Django REST framework Elasticsearch integration (this package) 'django_elasticsearch_dsl_drf', # ... )
快速入门
了解 django-elasticsearch-dsl-drf 可能最简单的方法是阅读 快速入门教程。
将其视为一个低知识入门水平的Elasticsearch与Django集成的指南。
测试
项目已覆盖测试。
要测试所有支持的Python/Django版本,请键入
tox
要针对特定环境进行测试,请键入
tox -e py38-django30
要测试您的当前工作环境,请键入
./runtests.py
要在您的当前工作环境中运行单个测试,请键入
./runtests.py src/django_elasticsearch_dsl_drf/tests/test_filtering.py
或者
./manage.py test django_elasticsearch_dsl_drf.tests.test_ordering
要在您的当前工作环境中运行给定测试模块中的单个测试类,请键入
./runtests.py src/django_elasticsearch_dsl_drf/tests/test_suggesters.py::TestSuggesters
假设您已安装所有必需的要求。如果没有,请首先安装测试要求
pip install -r examples/requirements/test.txt
编写文档
请保持以下层次结构。
=====
title
=====
header
======
sub-header
----------
sub-sub-header
~~~~~~~~~~~~~~
sub-sub-sub-header
^^^^^^^^^^^^^^^^^^
sub-sub-sub-sub-header
++++++++++++++++++++++
sub-sub-sub-sub-sub-header
**************************
许可证
GPL-2.0-only OR LGPL-2.1-or-later
支持
对于任何问题,请联系作者部分提供的电子邮件。
项目详细信息
django-elasticsearch-dsl-drf-0.22.5.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b444f168535ff99244cc995ec354a31abcbf3fc03bd7b11ec1a3f43c7208f63a |
|
MD5 | a7a28b8938fb766ea8ace7f24a7b32eb |
|
BLAKE2b-256 | 0ab15a6366036349d384ae7fa1a9cd589b921419213ae504f7924c3363a7b239 |
django_elasticsearch_dsl_drf-0.22.5-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fc0b3960e16f6c06de4f2ca4daf1134376fce4d496c1ddc218c23daddf6bcaa0 |
|
MD5 | a6b9a3b2f1db26ebf0eb41630ac9d182 |
|
BLAKE2b-256 | 544d4432adbe667791a621b0dc5421c9d32817f010b22e53656038f427eca5c0 |