Ruby on rails Searchkick:计算索引中的记录

Ruby on rails Searchkick:计算索引中的记录,ruby-on-rails,searchkick,Ruby On Rails,Searchkick,我可以在生产服务器上打开Rails控制台,进行搜索*然后使用ElasticSearch数据库 s = Sentence.search '*' s.count ...5, 381587, 381590, 381597, 381600, 381602, 381604, 381618, 381632, 381637, 381640, 381642, 381645, 381648, 381670, 381678, 381679, 381686, 381693, 381698, 381712, 3875

我可以在生产服务器上打开Rails控制台,进行搜索*然后使用ElasticSearch数据库

s = Sentence.search '*'
s.count

...5, 381587, 381590, 381597, 381600, 381602, 381604, 381618, 381632, 381637, 381640, 381642, 381645, 381648, 381670, 381678, 381679, 381686, 381693, 381698, 381712, 387518, 387519, 387535, 387541)
=> 1000
这里有两个问题

(1) 它在1000点呼叫。这个集合在哪里?我如何忽略它来计算索引中的条目总数

(2) 搜索返回的是Rails ID而不是ElasticSearch ID。这是否意味着我正在进行db调用


如何使用Searchkick通过Rails控制台直接从ElasticSearch获取条目计数?

您可以使用方法total_count获取完整计数,而不考虑分页

s = Sentence.search '*'
s.total_count
(2) 搜索返回的是Rails ID而不是ElasticSearch ID。这是否意味着我正在进行db调用


据我所知,searchkick将为表中的每一行创建一个elasticsearchid。然后,当您搜索时,它将搜索elasticsearch并带来与搜索关键字匹配的ID列表,然后根据返回的ElasticSearchID从数据库中取出所有记录。

您可以使用方法total_count获得完整计数,而不必考虑分页

s = Sentence.search '*'
s.total_count
(2) 搜索返回的是Rails ID而不是ElasticSearch ID。这是否意味着我正在进行db调用

据我所知,searchkick将为表中的每一行创建一个elasticsearchid。然后,当您搜索时,它将搜索elasticsearch并带来与搜索关键字匹配的ID列表,然后根据返回的ElasticSearchID从数据库中取出所有记录