elasticsearch,Java,Spring,elasticsearch" /> elasticsearch,Java,Spring,elasticsearch" />

Java 正确使用TransportClient进行elasticsearch

Java 正确使用TransportClient进行elasticsearch,java,spring,elasticsearch,Java,Spring,elasticsearch,我在为弹性搜索编译器创建TransportClient bean时遇到了一个问题,它说构造函数是私有的,就是这样。如何正确创建bean? 这是我的配置类: import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.transport.InetSocketTransportAddress; imp

我在为弹性搜索编译器创建TransportClient bean时遇到了一个问题,它说构造函数是私有的,就是这样。如何正确创建bean? 这是我的配置类:

import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;

@Configuration
@EnableElasticsearchRepositories(basePackages = "example.spring.data.es.repository")
@ComponentScan(basePackages = { "example.spring.data.es.service" })
public class Config {

@Bean
public Client client() {
//here compiller says that the TransportClient() is private. How else i cna create the transport client?
    TransportClient client = new TransportClient();

    TransportAddress address = new InetSocketTransportAddress(
            "localhost",9200);
    client.addTransportAddress(address);
    return client;
}

@Bean
public ElasticsearchOperations elasticsearchTemplate() {
    return new ElasticsearchTemplate(client());
}
}


弹性搜索依赖项是:elasticsearch-2.4.2

您需要使用提供的生成器方法进行初始化。例如:

TransportClient client = TransportClient.builder().build();

您需要使用提供的生成器方法进行初始化。例如:

TransportClient client = TransportClient.builder().build();

API已经改变了!请注意您正在使用的版本

发件人:

请注意,如果使用不同于“elasticsearch”的群集名称,则必须设置群集名称:


API已经改变了!请注意您正在使用的版本

发件人:

请注意,如果使用不同于“elasticsearch”的群集名称,则必须设置群集名称:


事实上,泰,我也发现了这一点。我很感兴趣,因为我在网上发现了一个声称它有效的例子,我一开始认为我没有正确的jar依赖关系。谢谢你的回答。事实上,泰,我也发现了。我很感兴趣,因为我在网上发现了一个声称它有效的例子,我一开始认为我没有正确的jar依赖关系。谢谢你的回答。
Settings settings = Settings.builder().put("cluster.name", "myClusterName").build();
TransportClient client = new PreBuiltTransportClient(settings);