我在spring数据elasticsearch中有一个问题。我想知道如何从属性文件或集合中设置 @Document注释 的注释值它是动态的。
例如: -
@Document(indexName = "myindex",type="mytype")
public class DocumentModel {
......
}
在这里,我想从.properties文件中设置此注释的值,或者使用一些setter方法来代替硬编码。有没有正确的方法来做到这一点?请帮忙!
答案 0 :(得分:0)
如果你正在使用elasticsearchTemplate,有一个更简单的变体,你可以这样做:
IndexQuery indexQuery = new IndexQueryBuilder()
.withId(docModel.getId())
.withObject(docModel)
.withIndex("myindex"+docModel.getUserId()).withTypes(<type_name>).build();
对withIndex(“...”)的调用将覆盖@Document注释中的任何索引名称