首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在弹性搜索中分页获取总记录

如何在弹性搜索中分页获取总记录
EN

Stack Overflow用户
提问于 2022-01-28 09:49:47
回答 1查看 26关注 0票数 0

在我的product索引中,我有60K记录,我使用from,size params运行匹配查询。默认情况下,ES支持10k记录搜索,因此我将其增加到60k。

我的问题是,我已经从API中传递了 size param &我想使用相同的分页大小param在60K记录中搜索。

,以便我如何将60k记录与我的分页大小param.匹配。

这是我的代码:

代码语言:javascript
复制
const query = {
    query: {
        match: {
            name: {
                query: req.text
            }
        }
    }
}

const { body: { hits } } = await esclient.search({
    from: req.skip || 0,
    size: req.offset || 50,
    index: productsIndex,
    type: productsType,
    body: query,
});

下面是60K大小的代码:

代码语言:javascript
复制
const query = {
    query: {
        match: {
            name: {
                query: req.text
            }
        }
    },
    size:60000
}

在我的查询中,如果我使用size=60K,我将得到20条记录(如果没有这些记录,我将得到12条记录),但是我不能使用分页params。

EN

回答 1

Stack Overflow用户

发布于 2022-01-28 10:10:19

如果我没听错你的问题,

size参数是响应所需的点击/文档数量。并不是说elasticsearch将只在第一个大小的文档数量中处理您的查询。10K是您在响应过程中可以获得的最大文档数。如果您指定的大小大于10K,弹性搜索将给您一个这样的错误。ES误差

在不考虑上述问题的情况下,使用 for size作为分页的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70891696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档