How to make elasticsearch embedded accessible via localhost:9200 How to make elasticsearch embedded accessible via localhost:9200 elasticsearch elasticsearch

How to make elasticsearch embedded accessible via localhost:9200


According to this ticket, you can now simply add this line to your configuration files:

spring.data.elasticsearch.properties.http.enabled=true


you should define this for yourself, because NodeClientFactoryBean has an option for http.enabled but ElasticSearchAutoConfiguration does not (yet) set it.

@Configuration@EnableConfigurationProperties(ElasticsearchProperties.class)public class ElasticsearchConfiguration implements DisposableBean {    private static Log logger = LogFactory.getLog(ElasticsearchConfiguration.class);    @Autowired    private ElasticsearchProperties properties;    private NodeClient client;    @Bean    public ElasticsearchTemplate elasticsearchTemplate() {        return new ElasticsearchTemplate(esClient());    }    @Bean    public Client esClient() {        try {            if (logger.isInfoEnabled()) {                logger.info("Starting Elasticsearch client");            }            NodeBuilder nodeBuilder = new NodeBuilder();            nodeBuilder                    .clusterName(this.properties.getClusterName())                    .local(false)            ;            nodeBuilder.settings()                    .put("http.enabled", true)            ;            this.client = (NodeClient)nodeBuilder.node().client();            return this.client;        }        catch (Exception ex) {            throw new IllegalStateException(ex);        }    }    @Override    public void destroy() throws Exception {        if (this.client != null) {            try {                if (logger.isInfoEnabled()) {                    logger.info("Closing Elasticsearch client");                }                if (this.client != null) {                    this.client.close();                }            }            catch (final Exception ex) {                if (logger.isErrorEnabled()) {                    logger.error("Error closing Elasticsearch client: ", ex);                }            }        }    }}