当不重新索引所有记录时,Searchkick不同的reindex结果

时间:2016-10-07 12:08:04

标签: ruby-on-rails ruby elasticsearch searchkick

我正在使用searchkick。

Product.reindex

这将重新索引所有记录,如果我搜索:

,它将起作用
Product.search "*", load: false

Product.search "something", load: false

但仅出于开发目的,我只想要例如10条记录。所以我这样做了:

Product.take(10).each do |p| p.reindex end

但它不会像我之前那样使用搜索方法。

我的问题是:

  • 如何重新索引视图记录?不是所有的记录。

1 个答案:

答案 0 :(得分:0)

默认情况下,searchkick会自动索引所有新记录(在创建/更新/删除时)。因此,如果您只想索引10条记录,则可能需要:

  1. 在模型中使用此功能禁用自动索引:

    searchkick回调:false

  2. 删除所有以前的索引:

    Product.clean_indices

  3. 索引您想要的10条记录:

    Product.take(10)。每个{| P | p.reindex}

  4. 希望这有帮助,我没有测试它,只是红色的一些文档。