Я использую 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']
зависит от размера и от параметров?