我想使用elasticsearch进行一个新的项目,从我的研究中可以找到3种可行的解决方案:
我喜欢解决方案1,因为它不需要依赖,我可以专注于学习本机语法/api,而不是2或3中的包装器。是否有令人信服的理由使用2或3而不是1?
更新
最后我使用了elasticsearch-py,因为它提供了各种好处,比如连接池和持久性。我发现elasticsearch-dsl-py太抽象和冗长
发布于 2015-11-06 03:59:07
我建议,当官方Python客户端可用时,没有理由直接与Elasticsearch对话。Python客户端为您做了大量的工作,否则您将花费大量的时间/精力将Python数据转换为ES,反之亦然。
关于elasticsearch-dsl-py和elasticsearch-py之间的选择:
elasticsearch-dsl-py只是查询DSL的包装器(加上其他一些东西)。它不提供对整个Elasticsearch的访问(例如,聚类API、索引API、散装API等)。文件上写着:
使用其他Elasticsearch (例如。)只需使用底层客户端即可。
很可能在任何大型应用程序中都需要使用这两个库。elasticsearch-dsl-py本身使用elasticsearch-py。
我同意你对海堆栈的评论--它是Elasticsearch后端,还有很多有待改进的地方。
https://stackoverflow.com/questions/33544407
复制相似问题