我有一个Spring Boot应用程序,我想在其中单独使用弹性搜索2.2.0(而不是嵌入式服务器),我想使用Spring Data弹性搜索,那么Spring Data支持的弹性搜索版本是什么,我如何配置它以连接到运行在localhost:9200中的弹性搜索实例?
实际上,我尝试在application.properties文件中添加以下选项:
spring.data.elasticsearch.repositories.enabled=true
spring.data.elasticsearch.cluster-nodes=localhost:9200
后来,我创建了这个配置类:
@Configuration
public class ElasticConfig {
@Bean
public ElasticsearchOperations elasticsearchTemplate() {
return new ElasticsearchTemplate(client());
}
@Bean
public Client client() {
TransportClient client = new TransportClient();
TransportAddress address = new InetSocketTransportAddress(
"localhost",9200);
client.addTransportAddress(address);
return client;
}
}
我得到了这个StackTrace:
2016-04-28 00:03:52.246信息25613---[restartedMain]org.elasticsearch.plugins:[Aardwolf]已加载[],站点[]2016-04-28 00:04:01.356信息25613---[restartedMain]org.elasticsearch.client.transport:[Aardwolf]无法获取[#Transport#-1][fathi-HP-Pavilion-g6-Notebook-PC][iNet[LocalHost/127.0.0.1:9200]]的节点信息,正在断开连接...
org.elasticsearch.transport.receiveTimeoutTransportException:[][iNet[localhost/127.0.0.1:9200]][cluster:监视器/节点/信息]request_id[0]在org.elasticsearch.transport.transportservice$Timeouthtml" target="_blank">handler.run(TransportService.java:529)[5001ms]之后超时~[elasticsearch-1.5.2.jar:na]在java.util.concurrent.ThreadPoolExecutor.RunWorker(
2016-04-28 00:04:01.512错误25613---[restartedMain].D.E.R.S.AbstractelasticSearchRepository:无法加载elasticsearch节点:org.elasticsearch.client.Transport.NonodeAvailableException:配置的节点均不可用:[]
我从ES论坛上得到了这个答案,它对我起到了作用:
首先,Spring Data Elasticsearch正式适用于ES1.x版本(对我来说,它适用于1.7.1)。其次,配置中使用的端口必须是9300
我做了这些改变,它的工作非常完美。
升级到Spring boot 2.3和Spring data elasticsearch 4.0.9后的问题。我有这样的文档: 这在spring data 3.0中与Jackson配合得很好,但升级到4.0后,Jackson不再可用,现在我收到了一个来自spring的实例化异常,无法实例化URL对象。 例外情况: 任何关于解决方案的想法都将受到赞赏。
我尝试编写一个联调的Spring Data Elastisearch存储库在SpringBoot使用测试容器和junit5 org . spring framework . beans . factory . unsatisfieddependencyexception:创建名为“com . example . demo . addressrepositorytest”的bean时出错:通过字段“
我使用Spring数据弹性搜索用于搜索/缓存目的。我需要执行一个使用child(TermCache)和parent(ConceptCache)属性的查询,并返回子对象的实例(这意味着我不能使用嵌套对象)。 我有以下结构: 我需要一个关于如何处理这类任务的提示;我应该使用两个单独的查询,还是应该以某种方式获取父对象的属性,或者其他什么?
我有一个设计糟糕的文档结构: 我想从上面的文档中检索标题、Fach和代码。 多谢了。
我正在使用spring数据elasticsearch来执行CRUD操作。 我有一个扩展Elasticsearch chRepository的自定义存储库。 最终,ElasticsearchRepository扩展了CrudRepository,这意味着可以更新现有记录。 问题是,你是如何做到这一点的?我还没有找到一个名为“update()”的方法 我认为做以下事情会有用(代码从https://gi
我需要运行以下查询: 但我不能用spring data elasticsearch轻松运行这个。 有什么办法吗 spring data elasticsearch是否很好地支持所有elasticsearch查询DSL