我想从Java管理Elasticsearch的启动和停止。有什么简单/不错的方法吗?
我们正在尝试在产品中部署ElasticSearch,并希望在我们自己的产品中的客户计算机上维护ElasticSearch的实例,现在,每件事都取决于从es.bat或其他事物中启动ElasticSearch实例。
顺便说一句,谁能给我一个例子,说明如何围绕用于ElasticSearch的Jest API来模拟测试一些代码,以便我可以对调用ElasticSearch的东西进行单元测试,而无需启动ElasticSearch实例?
启动Elasticsearch实例非常容易。您只需要使用Java API。这意味着您必须向项目中添加elasticsearch依赖项并创建一个节点,如参考资料中所述:
// on startup Node node = nodeBuilder().node(); Client client = node.client(); // on shutdown node.close();
创建节点后,其行为将与从命令行启动的节点完全相同。您可以使用创建的客户端对象与其进行交互,但是默认情况下,它还将打开9200和9300(或后面的(如果繁忙))端口以进行剩余调用和节点间通信。