Elasticsearch 5在内存节点中创建用于测试

pac*_*itu 6 elasticsearch

我从2迁移到Elasticsearch 5,我们有在没有ES节点可用的构建服务器上运行的集成测试.我们使用了以前版本的ES中的NodeBuilder来按需创建内存节点,但是我找不到如何在版本5中做同样的事情.

jos*_*ane 5

第一次在堆栈中发帖溢出,抱歉如果有任何错误,请问我的问题.

我在内存中启动客户端时遇到了完全相同的问题,但我无法使用具有NoNodeAvailableException的传输客户端作为错误消息进行连接.

    Settings settings = Settings.builder()
            .put("path.home", "target/elasticsearch")
            .put("transport.type", "local")
            .put("http.enabled", false)
            .build();

    node = new Node(settings).start();
Run Code Online (Sandbox Code Playgroud)

现在,在我的测试中,我将node().client()注入到存储库中并且它工作正常.

对于整个代码,spring boot和ES 5没有不支持ES 5的spring-data:https: //github.com/jomilanez/elastic5


pac*_*itu 2

NodeBuilder从 ES 5 中的 API 中删除,可以实现相同的效果,将“transport.type”“local”添加到设置中并使用以下命令创建节点

new Node(settings).start().client()