gpt4 book ai didi

python - 在 django 中与 elasticsearch 交互

转载 作者:太空狗 更新时间:2023-10-30 01:21:09 24 4
gpt4 key购买 nike

我想在一个新项目中使用 elasticsearch,根据我的研究,似乎有 3 个可行的解决方案:

  1. 不使用包装器直接与 elasticsearch 通信
  2. 使用 Elasticsearch -py
  3. 使用 elasticsearch-dsl-py

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

更新

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

最佳答案

我建议,当官方 Python 客户端可用时,没有理由直接与 Elasticsearch 对话。 Python 客户端为您完成了很多繁重的工作 - 否则您将花费​​大量时间/精力将 Python 数据转换为 ES,反之亦然。

关于elasticsearch-dsl-pyelasticsearch-py的选择:

elasticsearch-dsl-pyQuery DSL 的包装器仅(加上其他一些东西)。它不提供对整个 Elasticsearch API 的访问(例如 Cluster APIIndices APIBulk API 等)。它在文档中说:

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

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

我同意您对 Haystack 的评论——它的 Elasticsearch 后端还有很多不足之处。

关于python - 在 django 中与 elasticsearch 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33544407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com