以下是用例:
我正在尝试列出包含特定值的elasticsearch中的所有索引。 为了便于说明,让我们考虑以下作为索引模板:
{
"order": 0,
"template": "sample-*",
"settings": {
"index.refresh_interval": "300",
"index.number_of_replicas": "1",
"index.number_of_shards": "10"
},
"mappings": {
"digital": {
"_source": {
"enabled": false
},
"_all": {
"enabled": false
},
"properties": {
"website": {
"index": "not_analyzed",
"store": false,
"type": "string",
"doc_values": true
},
"iab_codes": {
"store": false,
"type": "long",
"doc_values": true
},
"audiences": {
"store": false,
"type": "long",
"doc_values": true
}
}
}
},
"aliases": {
}
}
此模板中的audiences
字段是一个很长的序列,例如。 [1,2,3]
。我基于这个模板每天创建一个索引。如何获取audiences
数组字段中包含特定值的所有索引的列表。
列出所有其中audience数组包含值3
的索引。
谢谢。
答案 0 :(得分:0)
您可以创建类似于
的搜索查询http://localhost:9200/sample-*/_search?q=audiences:3&pretty
并使用Java API,您可以尝试获取hits.hits._index
或者更确切地说使用filter_path:
http://localhost:9200/sample*/_search?q=audiences:3&filter_path=hits.hits._index&pretty