Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails太阳黑子未返回正确结果_Ruby On Rails_Solr_Sunspot_Sunspot Rails_Sunspot Solr - Fatal编程技术网

Ruby on rails rails太阳黑子未返回正确结果

Ruby on rails rails太阳黑子未返回正确结果,ruby-on-rails,solr,sunspot,sunspot-rails,sunspot-solr,Ruby On Rails,Solr,Sunspot,Sunspot Rails,Sunspot Solr,我有一个模型Foo,它的属性名为 现在我运行一个简单的太阳黑子(solr)查询 它将返回除两个foo之外的所有具有listed=true的foo 我已经尝试了以下方法: Sunspot.remove_all Foo.solr_index Sunspot.commit Foo.all.each(&:index!) 非常感谢您的帮助。您需要在您的Foo模型中初始化可搜索的 class Foo < ActiveRecord::Base searchable do bool

我有一个模型Foo,它的属性名为

现在我运行一个简单的太阳黑子(solr)查询

它将返回除两个foo之外的所有具有
listed=true
的foo

我已经尝试了以下方法:

Sunspot.remove_all
Foo.solr_index
Sunspot.commit
Foo.all.each(&:index!)

非常感谢您的帮助。

您需要在您的Foo模型中初始化可搜索的

class Foo < ActiveRecord::Base

  searchable do
    boolean :listed
  end
end


在我的例子中,我使用了一个名为“acts_as_paranoid”的gem,这样在我删除一个对象后,我通常可以恢复它。当一个对象被销毁后,它将永远处于“已删除”状态,除非我调用命令将其永久删除。那是我的问题。Solr Sunspot仍然有这些已删除项目的索引,但无法检索

我所做的是:

  • 永久删除limbo中的所有项目
  • 重新索引属于该模型的所有对象
瞧!归还的东西是正确的

我昨天遇到过这种情况,当solr内置分页的结合使用时,情况会更好,但那是另一回事了


希望你的也一样。

谢谢。当然,该文件已标记为可搜索。:)只是为了补充一下。“列出”已定义为模型中的可搜索字段。
class Foo < ActiveRecord::Base

  searchable do
    boolean :listed
  end
end
bundle exec rake sunspot:reindex
Foo.reindex
Sunspot.commit