elasticsearch,Python,Django,elasticsearch" /> elasticsearch,Python,Django,elasticsearch" />

Python 在django中与elasticsearch交互

Python 在django中与elasticsearch交互,python,django,elasticsearch,Python,Django,elasticsearch,我想使用elasticsearch进行一个新项目,根据我的研究,似乎有3个可行的解决方案: 不要使用包装器,直接与elasticsearch通信 使用elasticpy搜索 使用elasticsearch dsl py 我喜欢解决方案1,因为它不需要依赖项,我可以专注于学习本机语法/api,而不是像2或3中那样的包装器。有没有令人信服的理由用2或3代替1 更新 我最终使用了elasticsearch py,因为它提供了连接池和持久性等各种好处。我发现elasticsearch dsl py过于抽

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

  • 不要使用包装器,直接与elasticsearch通信
  • 使用elasticpy搜索
  • 使用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
    是一个仅用于(加上一些其他东西)的包装器。它不提供对整个Elasticsearch API(例如,等)的访问。文件中说:

    要使用其他Elasticsearch API(例如群集运行状况),只需使用 底层客户端

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


    我同意你对Haystack的评论-它的Elasticsearch后端还有很多需要改进的地方。

    @SandervanLeeuwen我在很多博客上看到了使用Haystack和Elasticsearch的详细问题