繁体   English   中英

Searchkick:计算索引中的记录

[英]Searchkick: counting records in index

我可以在生产服务器上打开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。 这是否意味着我正在执行数据库调用?

如何通过带有Searchkick的Rails控制台直接从ElasticSearch中获得条目计数?

无论分页如何,都可以使用total_count方法获取完整计数。

s = Sentence.search '*'
s.total_count

(2)搜索返回的是Rails ID,而不是ElasticSearch ID。 这是否意味着我正在执行数据库调用?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM