通过zombodb postgres扩展与elasticsearch的轻松django集成

django-zombodb的Python项目详细描述


PyPI StatusBuild StatusDocumentation StatusCoverage StatusGitHub

通过ZomboDBpostgres扩展与elasticsearch轻松集成。 感谢zombodb,您的django模型在每次事务后都与elasticsearch同步!搜索也很简单:您可以 ElasticSearch只需调用QuerySet上的一个搜索方法即可进行查询。再简单不过了!

文档

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

要求

快速启动

  1. 安装zombodb(说明here
  2. 安装django zombodb:
pip install django-zombodb
  1. SearchQuerySetZomboDBIndex添加到模型:
fromdjango_zombodb.indexesimportZomboDBIndexfromdjango_zombodb.querysetsimportSearchQuerySetclassRestaurant(models.Model):name=models.TextField()objects=models.Manager.from_queryset(SearchQuerySet)()classMeta:indexes=[ZomboDBIndex(fields=['name',]),]
  1. 进行迁移:
python manage.py makemigrations
  1. 添加django_zombodb.operations.ZomboDBExtension()作为您刚刚创建的迁移的第一个操作:
importdjango_zombodb.operationsclassMigration(migrations.Migration):dependencies=[('restaurants','0001_initial'),]operations=[django_zombodb.operations.ZomboDBExtension(),# <<< here]
  1. 运行迁移(postgres用户必须是超级用户才能创建zombodb扩展):
python manage.py migrate
  1. 完成!现在,您可以直接从模型中进行ElasticSearch查询:
Restaurant.objects.filter(is_open=True).query_string_search("brazil* AND coffee~")

运行测试

您需要在默认端口上运行elasticsearch和postgres实例。另外,还需要安装zombodb。那就做:

python runtests.py

安全性

请检查SECURITY.rst。 如果发现或认为发现漏洞,请通过vinta.com上的admin与我们联系。br

请避免在github或任何其他公共网站上披露任何安全问题。我们将努力迅速解决任何可能的漏洞,并给予记者信任(如果需要的话)。

商业支持

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

更改日志

0.3.0(2019-07-18)

  • 通过ZomboDBIndex上的field_mapping参数支持自定义ElasticSearch映射。
  • 支持搜索方法上的limit参数。

0.2.1(2019-06-13)

  • 放弃了对Python3.4的支持。
  • 将缺少的导入添加到文档。

0.2.0(2019-03-01)

  • 已从ZomboDBIndex中删除参数url。这简化了对多个部署环境(本地、登台、生产)的支持,因为ElasticSearchURL不会复制到内部迁移代码中(请参见Issue #17)。

0.1.0(2019-02-01)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java嵌套循环打印一个数字,旁边有相同数量的星号   java JodReports替代方案   java如何将模型类parcelable对象从片段传递到活动?   java JCS缓存删除功能不删除特定元素   如何打开。Java的dll文件。   java在这种情况下如何选择聚合根?   java从CellEditorListener获取编辑的TreeNode   Java到web服务和mysql   从openssl ec在Java中创建公钥时出现加密无效密钥异常   Java数组:添加多个数组的元素时忽略空数组   java在初始化后向fragment发送数据   JButtons的java数组正在返回void   若联接列不包含特定值,则java JPA条件生成器仅返回实体   java ActionBar问题:NPE   java Portlet是被广泛使用还是非常罕见?