我有这么大的数据集,我想要一个可以在图表中使用的样本。为此,我不需要所有数据,我需要每个第 N 个项目。
例如,如果我有 4000 个结果,而我只需要 800 个结果,我希望能够获得每 5 个结果。
所以有些像:get,skip,skip,skip,skip,get,skip,skip,skip,..
我想知道在 Elasticsearch 中是否可以实现这样的事情?
最佳答案
最好使用脚本化的 filter
。否则你会不必要地使用分数。过滤器就像查询一样,但它们不使用评分。
POST /test_index/_search
{
"query": {
"filtered": {
"filter": {
"script": {
"script": "doc['unique_counter'].value % n == 0",
"params" : {
"n" : 5
}
}
}
}
}
}
您最好不要在实际使用中使用动态脚本。
也就是说,您可能希望查看聚合以绘制有关数据的分析信息,而不是任意抽取样本。
关于elasticsearch - 在 Elasticsearch 中获取第 N 个结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31392952/