我是elasticsearch的新手,至少对于flask扩展(flask-elasticsearch)来说,文档非常糟糕。任何帮助都是令人欣慰的。
我有一个elasticsearch查询,如下所示
res = es.search(index="user-index", from_=(page-1)*10, size=10, body={"query": {"match_all": {}}})我查询用户表,只想要10个结果。现在,我仍然需要获取实际的表行。所以我像这样查询它们
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的列表,因此分页函数不知道搜索查询中的结果总数。所以分页函数不能以这种方式工作...
我可以自己做所有的分页功能,但我想知道是否有一种很好的方法来保留分页功能,并以某种方式将它与弹性搜索联系起来?谢谢你,卡尔
发布于 2016-05-29 20:08:48
我找到了一个解决方案。可以只分配相关的分页值,如下所示
search_result.total = res['hits']['total']
search_result.page = page干杯
https://stackoverflow.com/questions/37509189
复制相似问题