一次查询多个索引数据java
es里能够这样写elasticsearch
GET 索引1,索引2,索引3/_searchui
也能够这样spa
给索引建立别名,多个索引可使用一个别名code
POST /_aliases { "actions": [ { "add": { "index": "myindex2", "alias": "myalias" } },{ "add": { "index": "myindex3", "alias": "myalias" } } ] }
或者blog
PUT /myindex2/_alias/myalias
删除别名索引
POST /_aliases { "actions": [ { "remove": { "index": "myindex3", "alias": "my_index_alias" } } ] }
java查询多个索引rem
SearchQuery searchQuery = new NativeSearchQueryBuilder() .withIndices("myindex2","myindex4") //能够直接使用别名 .withQuery(queryBuilder) //.addAggregation(sumBuilder) .build(); List<Map> map=elasticsearchTemplate.query(searchQuery, response -> { SearchHits hits = response.getHits(); List<Map> list=new ArrayList<>(); Arrays.stream(hits.getHits()).forEach(h -> { Map<String, Object> source = h.getSource(); System.out.println(JSONArray.toJSONString(source)); list.add(source); }); return list; });