【发布时间】:2020-08-19 12:16:01
【问题描述】:
我正在使用 Elasticsearch 7.6.0 并对我的一个查询进行了分页。它似乎运作良好,我可以使用搜索 from 和 size 参数来改变每页和所选页面的结果数。
query = 'sample query'
items_per_page = 12
page = 0
es_query = {'query': {
'bool': {
'must': [{
'multi_match': {
'query': query,
"fuzziness": "AUTO",
"operator": "and",
'fields': ['title^2', 'description']
},
}]
}
}, 'min_score': 5.0}
res = es.search(index='my-index', body=es_query, size=items_per_page, from_=items_per_page*page)
hits = sorted(res['hits']['hits'], key=lambda x: x['_score'], reverse=True)
print(res['hits']['total']['value']) # This changes depending on the page provided
我注意到返回的结果数量取决于提供的页面,这对我来说毫无意义!结果的数量也在波动,这进一步让我感到困惑:第 0 页,233 项。第 1 页,157 项。第 2 页,157 项。第 3 页,233 项...
为什么res['hits']['total']['value'] 依赖于大小和来自参数?
【问题讨论】:
-
你设置了
items_per_page = 12,第0页返回了233项?