我正在配置elasticsearch spring应用程序,并遵循我创建的RestHighLevelClient文档:
@Configuration
public class RestClientConfig extends AbstractElasticsearchConfiguration {
@Override
@Bean
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("localhost:9200")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
现在我希望我所有的文档都有snake_case的命名策略,在文档上这是我发现的:
在没有进一步配置的情况下,Spring Data Elasticsearch将使用对象的属性名称作为Elasticsearch中的字段名称。这可以通过使用该属性上的@Field注释来更改单个字段。
也可以在客户端(Elasticsearch Clients)的配置中定义FieldNamingStrategy。例如,如果配置了SnakeCaseFieldNamingStrategy,则对象的属性sampleProperty将映射到Elasticsearch中的sample_property。FieldNamingStrategy适用于所有实体;可以通过在属性上设置带有@Field的特定名称来覆盖它。
问题是,如何一次性配置客户端?
只需覆盖配置类中的field dNamingStrategy()
方法:
@Configuration
public class RestClientConfig extends AbstractElasticsearchConfiguration {
@Override
@Bean
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("localhost:9200")
.build();
return RestClients.create(clientConfiguration).rest();
}
@Override
protected FieldNamingStrategy fieldNamingStrategy() {
return new SnakeCaseFieldNamingStrategy();
}
}
我试图使用Spring数据Elasticsearch连接到Elasticsearch 5。 根据链接-https://github.com/spring-projects/spring-data-elasticsearch,spring数据弹性搜索-3.0.0。M4与Elasticsearch 5.4.0兼容 但我在尝试连接Elasticsearch时出现以下错误 请告诉我,如果你们中的任何一个人
我正在使用弹性搜索的Spring数据。我的存储库类有一个方法来获取索引中的最新插入。 这将失败,但有以下例外。 JAVAlang.NullPointerException:在组织中为空。springframework。数据弹性搜索。果心弹性搜索模板。queryformage(ElasticsearchTemplate.java:307)~[spring-data-elasticsearch-2.0
我有一个spring boot 1.5.9应用程序,它使用spring数据elasticsearch(2.1.3)连接到elasticsearch 2.4.0实例。现在,我需要将spring boot升级到版本2,使其能够与新的依赖项一起工作。 如果我使用最新的spring启动版本(2.1.0),它附带了spring数据elasticsearch 3.1.2,它使用elasticsearch 6.
看起来像个虫子。排序对于简单的搜索非常有效,但对于滚动则不起作用。我尝试这样做: 之后: 运行时,应用程序显示: 搜索: |调试o.s.d.elasticsearch。果心查询:937{“from”:0,“size”:5,“QUERY”:{“constant\u score”:{“filter”:{…跳过…},“boost”:1.0}},“version”:true,“\u source”:{“i
我对elasticsearch和spring数据elasticsearch非常陌生,在查询嵌套对象时遇到了一些问题。 我使用ElasticSearch存储库在ElasticSearch中保存一个嵌套模型实例。因此,elasticsearch中只有一个条目包含所有数据,据我所知,这意味着我有一个嵌套文档。 我需要使用Criteria实现一个相对复杂的查询来迭代构建查询。当我尝试使用点表示法访问嵌套属
我希望从ES中获得聚合结果,例如,对于与术语匹配的文档,