Skip to main content

通过 ZomboDB Postgres 扩展轻松将 Django 与 Elasticsearch 集成

项目描述

PyPI 状态 构建状态 文件状态 覆盖状态 GitHub

通过ZomboDB Postgres 扩展轻松将 Django 与 Elasticsearch 集成。感谢 ZomboDB,您的 Django 模型在每次交易后都与 Elasticsearch 同步!搜索也非常简单:您只需调用查询集上的一种搜索方法即可进行 Elasticsearch 查询。再简单不过了!

文档

完整的文档位于https://django-zombodb.readthedocs.io

要求

快速开始

  1. 安装 ZomboDB(此处的说明)

  2. 安装 django-zombodb:

pip install django-zombodb
  1. SearchQuerySetZomboDBIndex添加到您的模型中:

from django_zombodb.indexes import ZomboDBIndex
from django_zombodb.querysets import SearchQuerySet

class Restaurant(models.Model):
    name = models.TextField()

    objects = models.Manager.from_queryset(SearchQuerySet)()

    class Meta:
        indexes = [
            ZomboDBIndex(fields=[
                'name',
            ]),
        ]
  1. 进行迁移:

python manage.py makemigrations
  1. 添加django_zombodb.operations.ZomboDBExtension()作为您刚刚创建的迁移的第一个操作:

import django_zombodb.operations

class Migration(migrations.Migration):

    dependencies = [
        ('restaurants', '0001_initial'),
    ]

    operations = [
        django_zombodb.operations.ZomboDBExtension(),  # <<< here
    ]
  1. 运行迁移(Postgres 用户必须是 SUPERUSER 才能创建 ZomboDB 扩展):

python manage.py migrate
  1. 完毕!现在您可以直接从您的模型中进行 Elasticsearch 查询:

Restaurant.objects.filter(is_open=True).query_string_search("brazil* AND coffee~")

完整示例

检查https://github.com/vintasoftware/django-zombodb/tree/master/example

运行测试

您需要在默认端口上运行 Elasticsearch 和 Postgres 实例。此外,您需要安装 ZomboDB。然后做:

python runtests.py

安全

请检查SECURITY.rst。如果您发现或认为您发现了漏洞,请通过管理员AT vinta.com.br 联系

请避免在 GitHub 或任何其他公共网站上披露任何安全问题。我们将努力迅速解决任何可能存在的漏洞,并向记者表示赞赏(如果需要)。

商业支持

该项目由Vinta Software和其他贡献者维护。我们一直在寻找令人兴奋的工作,所以如果您需要任何商业支持,请随时联系:联系@vinta com br

更改日志

0.3.0 (2019-07-18)

  • 通过ZomboDBIndex上的field_mapping参数支持自定义 Elasticsearch 映射。

  • 支持限制搜索方法的参数。

0.2.1 (2019-06-13)

  • 放弃了对 Python 3.4 的支持。

  • 向文档添加了缺失的导入。

0.2.0 (2019-03-01)

  • ZomboDBIndex中删除了参数url。这简化了对多个部署环境(本地、暂存、生产)的支持,因为 ElasticSearch URL 不会复制到内部迁移代码中(请参阅问题 #17)。

0.1.0 (2019-02-01)

  • PyPI 上的第一个版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-zombodb-0.3.0.tar.gz (12.8 kB 查看哈希)

已上传 source

内置分布

django_zombodb-0.3.0-py2.py3-none-any.whl (13.6 kB 查看哈希

已上传 3 7