2013-07-06 33 views
7

我想管理Java的elasticsearch的启动和停止。有没有简单/很好的方法来做到这一点?从java开始elasticsearch实例?

我们正在尝试在我们的产品中部署ElasticSearch,我们希望在我们自己的产品中维护客户机器上的ElasticSearch实例,现在每件事都取决于从es.bat启动ElasticSearch实例或一些东西。另外,任何人都可以给我一个如何模拟测试ElasticSearch Jest API的一些代码的例子,所以我可以单元测试调用ElasticSearch而不需要启动ElasticSearch实例的东西吗?

回答

10

启动一个elasticsearch实例非常简单。你只需要使用Java API。这意味着你必须将elasticsearch依赖添加到您的项目,并创建一个节点,如reference提到:

// on startup 
Node node = nodeBuilder().node(); 
Client client = node.client(); 

// on shutdown 
node.close(); 

一旦你创建它的行为完全一样的节点从命令行启动的节点。您可以使用创建的客户端对象与它进行交互,但默认情况下,它还会打开9200和9300(或以下的忙(繁忙)端口)以进行其他呼叫和节点间通信。

+0

感谢您的回复。我假定需要启动一个ElasticSearch来连接它,因此客户端,但构建节点是很有意义的......太棒了!我将尽快尝试。很高兴它比我想象的更容易。 – cdietschrun

+1

你会看到自己有多容易:)你确定它有用后,你可能想要upvote /接受你的答案。 ;) – javanna

+0

如果你没有静态导入,NodeBuilder.nodeBuilder() – akroy