我们使用elasticsearch来支持我们的分类搜索引擎Listings360 Kenya。
在Elasticsearch版本6中,在搜索期间,我们可以从以下json输出中获得此处用于分页的总命中文档计数
Array
(
[took] => 3
[timed_out] =>
[_shards] => Array
(
[total] => 5
[successful] => 5
[skipped] => 0
[failed] => 0
)
[hits] => Array
(
[total] => 30540
[max_score] =>
[hits] => Array
(
[0] => Array
(现在,使用elasticsearch 7进行完全相同的搜索会给出以下json输出
Array
(
[took] => 14
[timed_out] =>
[_shards] => Array
(
[total] => 1
[successful] => 1
[skipped] => 0
[failed] => 0
)
[hits] => Array
(
[total] => Array
(
[value] => 10000
[relation] => gte
)
[max_score] =>
[hits] => Array
(
[0] => Array
(您可以看到,我不再有用于分页目的的命中。
你知道怎么找回它吗?
谢谢你的帮助
发布于 2020-01-23 02:02:29
jap,那是breaking changes in 7.0中的一个
看看搜索参数track_total_hits,它强制计数总是准确的。然而,新的格式仍然适用,您需要修补您的应用程序(这就是为什么它是一个突破性的变化)。
Here是关于新响应结构的更详细的信息。
https://stackoverflow.com/questions/59852834
复制相似问题