我目前正在开发一个Java应用程序,该应用程序使用HTTP连接到弹性搜索并获取映射中的所有索引及其对应类型-Key(index)和Arraylist(type)。请帮助
答案 0 :(得分:0)
一个巧妙的技巧是在_index和_type字段上使用术语聚合:
GET _search
{
"size": 0,
"aggs": {
"byindex": {
"terms": {
"field": "_index",
"size": 10000
},
"aggs": {
"by_type": {
"terms": {
"field": "_type",
"size": 10
}
}
}
}
}
}
或者,您可以使用别名api,该API返回所有别名及其指向的索引。对于没有别名的索引,别名就是索引名称。
还请注意,从v6版开始,不再允许每个索引具有一种以上类型。类型将在以后的版本中完全删除。
您可以使用自己喜欢的http库在Java或Java的官方elasticsearch http客户端或几种替代方法之一中进行此操作。