首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elasticsearch中的分页

elasticsearch中的分页
EN

Stack Overflow用户
提问于 2016-05-29 19:14:12
回答 1查看 1.3K关注 0票数 2

我是elasticsearch的新手,至少对于flask扩展(flask-elasticsearch)来说,文档非常糟糕。任何帮助都是令人欣慰的。

我有一个elasticsearch查询,如下所示

代码语言:javascript
复制
res = es.search(index="user-index", from_=(page-1)*10, size=10, body={"query": {"match_all": {}}})

我查询用户表,只想要10个结果。现在,我仍然需要获取实际的表行。所以我像这样查询它们

代码语言:javascript
复制
list_of_ids = []
for hit in res['hits']['hits']:
    list_of_ids.append(hit["_id"])

search_result = models.User.query.filter(models.User.id.in_(list_of_ids)).paginate(page, 10, False)

如您所见,我使用的是paginate()函数。但是,由于我向查询传递了一个包含10个ids的列表,因此分页函数不知道搜索查询中的结果总数。所以分页函数不能以这种方式工作...

我可以自己做所有的分页功能,但我想知道是否有一种很好的方法来保留分页功能,并以某种方式将它与弹性搜索联系起来?谢谢你,卡尔

EN

回答 1

Stack Overflow用户

发布于 2016-05-29 20:08:48

我找到了一个解决方案。可以只分配相关的分页值,如下所示

代码语言:javascript
复制
search_result.total = res['hits']['total']
search_result.page = page

干杯

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

https://stackoverflow.com/questions/37509189

复制
相关文章

相似问题

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