[英]Spring Data ElasticSearch 4.0.0 - Using wildcards to search in multiple indexes of the same class
[英]How to manage multiple user indexes in spring data elasticsearch
在spring数据elasticsearch中,一个模型类/实体表示或映射到索引和类型。
例如:-
@Document(indexName = "myindex",type="mytype")
public class DocumentModel {
......
}
我有一个用例,在这种情况下,我应该在具有相同结构的不同es索引中索引数据。 如果是这种情况,我如何用这个模型类表示所有这些索引?
Spring Data ES支持在@Document
批注的索引名称中使用SpEL表达式,如下所示:
@Document(indexName = "myindex-#{userId}", type="mytype")
public class DocumentModel {
......
}
更新
如果您使用的是elasticsearchTemplate
,则有一个更简单的变体,您可以这样做:
IndexQuery indexQuery = new IndexQueryBuilder()
.withId(docModel.getId())
.withObject(docModel)
.withIndex("myindex"+docModel.getUserId()).build();
对withIndex("...")
的调用将覆盖@Document
批注中具有的任何索引名称
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.