概述
我想将elasticsearch用于一个新项目,从我的研究中,似乎有3个可行的解决方案:
>不要使用包装器并直接与elasticsearch进行通信
>使用elasticsearch-py
>使用elasticsearch-dsl-py
我喜欢解决方案1,因为它不需要依赖关系,我可以专注于学习本机语法/ api而不是2或3中的包装器.是否有任何令人信服的理由使用2或3超过1?
更新
我最终使用elasticsearch-py,因为它提供了连接池和持久性等各种好处.我发现elasticsearch-dsl-py太抽象和冗长
关于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后端还有很多不足之处.
总结
以上是编程之家为你收集整理的python – 与django中的elasticsearch进行交互全部内容,希望文章能够帮你解决python – 与django中的elasticsearch进行交互所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧