我的索引是:https://URL/bpa_stag_v3_2016*,bpa_stag_v3_2017/orders_suppliers_stats_ag/_search
我正在使用 api java 进行 Elasticsearch ,但它不起作用。
String indexForTwoYear = ConfiguratorDao.CURRENT_ENV.getAliasPrefix() + String.valueOf(previousYear) + "*,"
+ ConfiguratorDao.CURRENT_ENV.getAliasPrefix() + String.valueOf(currentYear) + "*";
SearchRequestBuilder requestBuilder = client.prepareSearch(indexForTwoYear)
.setTypes(IndexTypeEnum.SUPPLIERS_AGGREGATION.getValue()).setQuery(queryBuilder).setSize(1);
最佳答案
根据 Elasticsearch 的 AbstractClient
类(由 NodeClient
和 TransportClient
扩展)的文档,您可以传递可变数量的索引作为 prepareSearch
方法中的 var-args (javadoc here ):
public SearchRequestBuilder prepareSearch(String... indices)
Search across one or more indices and one or more types with a query.
所以,就你的情况而言,它是:
client.prepareSearch("pa_stag_v3_2016*","bpa_stag_v3_2017")
关于java - 如何在ES API Java中创建多重索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44702021/