我有大量关于弹性搜索的文档,其中包含来自各种系统的许多状态字段。 我想先对es索引进行过滤,以获取记录的ID,然后从mysql下载这些ID。
即我想获取一个字段cid的所有值,作为es响应中的数组。
如果我只是要求提供_source [“ cid”],那仍然会给出单个文档,并且速度太慢(我想获取〜1M条记录)。 另一种选择是使用术语聚合,速度更快,但仍然为每个ID提供单独的存储桶。
有没有一种解决方法,我可以获取文档的那么多id(使用聚合/脚本/查询)?
目前我正在做:
{
"size": 0,
"query":{
"bool": {
"filter": {
"term": {
"source": "web"
}
}
}
},
"aggs": {
"ids": {
"terms": {
"field": "cid",
"size": 10000
}
}
}
}
任何解决方案或建议都会有所帮助。