通过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如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException