在我的product索引中,我有60K记录,我使用from,size params运行匹配查询。默认情况下,ES支持10k记录搜索,因此我将其增加到60k。
我的问题是,我已经从API中传递了 size param &我想使用相同的分页大小param在60K记录中搜索。
,以便我如何将60k记录与我的分页大小param.匹配。
这是我的代码:
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大小的代码:
const query = {
query: {
match: {
name: {
query: req.text
}
}
},
size:60000
}在我的查询中,如果我使用size=60K,我将得到20条记录(如果没有这些记录,我将得到12条记录),但是我不能使用分页params。
发布于 2022-01-28 10:10:19
如果我没听错你的问题,
size参数是响应所需的点击/文档数量。并不是说elasticsearch将只在第一个大小的文档数量中处理您的查询。10K是您在响应过程中可以获得的最大文档数。如果您指定的大小大于10K,弹性搜索将给您一个这样的错误。ES误差
在不考虑上述问题的情况下,使用 for 和size作为分页的参数。
https://stackoverflow.com/questions/70891696
复制相似问题