spring data elasticsearch 多索引查询(切换索引)

本文介绍了一种在Spring Data Elasticsearch中实现动态切换索引的方法,通过定义索引名赋值类并结合@Document注解,可在运行时灵活改变所访问的Elasticsearch索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做项目的时候,遇到一个问题,要访问不同索引(可以当成分库去理解),如果是用直接请求的方式很容易做到,但是用了spring-data-elasticsearch好像不是很好实现,在网上看到基本上都是indexName直接赋值。如果也有这样需求的可以试试我的方法,下面就具体写一下:

1、首先定义indexName的赋值类

public class EsIndexChange {
	private static String suffix;

	public static void setSuffix(String suffix) {
		  EsIndexChange.suffix = suffix;
	}

	public static String getSuffix() {
		return suffix;
	}

}

2、然后直接用在@Document注解里面

@Document(indexName = "testmail_#{ T(com.util.EsIndexChange).getSuffix() }", type = "mail")
public class MailInfo{
	@Id
	@Field(index = false, store = true, type = FieldType.Text)
	private String id;
    .......

然后再需要换索引的时候,setSuffix就可以了。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值