我正在开发一个Java应用程序,其中包括Elasticsearch。
到目前为止,我已经使用了Java节点客户端。然后前段时间我从一些同事那里听说REST API是首选,原因如下:
我现在正试图弄清楚这有多少。
说到#1,the Elasticsearch docs state它(通常)足以使客户端和ES集群具有相同的主要版本。因此,REST API在这里并没有真正提供更好的东西。
然后,#3由Shield处理。
我找不到关于#2的任何信息。
从上面的信息中,我可能想在我的Java应用程序中使用REST API的唯一原因是版本独立性,只是为了安全起见。除此之外,并不多;那是真的吗?并且不推荐使用节点/传输客户端吗?
答案 0 :(得分:0)
我不是ES专家,但我们只是问自己同样的问题,这是我们对这个主题的看法。
在我们的应用中,我们使用的是Spring Data ES。非常容易使用,代码很少,但是版本滞后(在ES 2发布后支持2.x 6个月)并且基于本机客户端。从我们的观点来看,这些权衡取决于发展效率。
最后,SAAS仅提供HTTP API,因此在这种情况下,您无法选择。