如何在Spring数据Elasticsearch中设置注释属性

时间:2016-04-29 11:02:11

标签: java spring spring-data-elasticsearch

我在spring数据elasticsearch中有一个问题。我想知道如何从属性文件或集合中设置 @Document注释 的注释值它是动态的。

例如: -

@Document(indexName = "myindex",type="mytype")
public class DocumentModel {
    ......
}  

在这里,我想从.properties文件中设置此注释的值,或者使用一些setter方法来代替硬编码。有没有正确的方法来做到这一点?请帮忙!

1 个答案:

答案 0 :(得分:0)

如果你正在使用elasticsearchTemplate,有一个更简单的变体,你可以这样做:

IndexQuery indexQuery = new IndexQueryBuilder()
     .withId(docModel.getId())
     .withObject(docModel)
     .withIndex("myindex"+docModel.getUserId()).withTypes(<type_name>).build();

对withIndex(“...”)的调用将覆盖@Document注释中的任何索引名称