1. 程式人生 > >spring data elasticsearch 多索引查詢(切換索引)

spring data elasticsearch 多索引查詢(切換索引)

最近在做專案的時候,遇到一個問題,要訪問不同索引(可以當成分庫去理解),如果是用直接請求的方式很容易做到,但是用了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就可以了。