gpt4 book ai didi

java - 在属性文件中的 elasticsearch 中指定索引名称和索引类型

转载 作者:行者123 更新时间:2023-11-29 09:29:50 26 4
gpt4 key购买 nike

我在我的应用程序中使用了 elasticsearch 和 spring。对于每种索引类型,我都有一个文档映射。使用 @Document 注释,我指定了索引的 indexNametype。例如:@Document(indexName = "myproject", type = "user")。但是为了编写单元测试,我想创建具有不同 indexName 的索引。因此,我希望从属性文件中读取 indexName。 Spring 如何做到这一点?

最佳答案

您只需使用 SPeL 即可解决此问题。它允许您设置 Spring 将在编译时解析的表达式。因此允许在编译期间处理注释。

@Document(collection = "#{@environment.getProperty('index.access-log')}")
public class AccessLog{
...
}

Spring 5.x 之前:

请注意,SPeL 中没有@

@Document(collection = "#{environment.getProperty('index.access-log')}")
public class AccessLog{
...
}

我还发现 Spring 还支持更简单的表达式 @Document(collection = "${index.access-log}") 但我对此的结果喜忧参半。

如上设置注释后,您可以使用其中之一

application.properties

index.access-log=index_access

application.yaml

index  :
access : index_access

关于java - 在属性文件中的 elasticsearch 中指定索引名称和索引类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24437535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com