加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 与django中的elasticsearch进行交互

发布时间:2020-12-16 23:46:42 所属栏目:Python 来源:网络整理
导读:我想将elasticsearch用于一个新项目,从我的研究中,似乎有3个可行的解决方案: 不要使用包装器并直接与elasticsearch进行通信 使用elasticsearch-py 使用elasticsearch-dsl-py 我喜欢解决方案1,因为它不需要依赖关系,我可以专注于学习本机语法/ api而不是2或3

我想将elasticsearch用于一个新项目,从我的研究中,似乎有3个可行的解决方案:

>不要使用包装器并直接与elasticsearch进行通信
>使用elasticsearch-py
>使用elasticsearch-dsl-py

我喜欢解决方案1,因为它不需要依赖关系,我可以专注于学习本机语法/ api而不是2或3中的包装器.是否有任何令人信服的理由使用2或3超过1?

更新

我最终使用elasticsearch-py,因为它提供了连接池和持久性等各种好处.我发现elasticsearch-dsl-py太抽象和冗长

最佳答案
我建议当正式的Python客户端可用时,没有理由直接与Elasticsearch交谈. Python客户端为您做了很多繁重的工作 – 否则您将花费??大量时间/精力将Python数据转换为ES,反之亦然.

关于elasticsearch-dsl-py和elasticsearch-py之间的选择:

elasticsearch-dsl-py只是Query DSL的包装(加上其他一些东西).它不提供对整个Elasticsearch API的访问(例如,Cluster API,Indices API,Bulk API等).它在文档中说:

To use the other Elasticsearch APIs (eg. cluster health) just use the
underlying client.

您很可能需要在任何大型应用程序中使用这两个库. elasticsearch-dsl-py本身使用elasticsearch-py.

我同意你对Haystack的评论 – 它的Elasticsearch后端还有很多不足之处.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读