Rails Sunspot solr 搜索 returns 同一记录的多个条目

Rails Sunspot solr search returns multiple entries of the same record

我在 Rails 应用程序中使用 Sunspot solr 搜索来列出用户。

用户控制器:

def index
  @users = User.search { 
    fulltext params[:search]
    paginate :page => params[:page], :per_page => 10
  }.results
end

用户模型:

searchable do
  text :email

  text :user_profile do
    user_profile.name
  end
end

每当我更新任何用户时,在同一记录的两个条目中搜索结果,访问这两个条目将带我到同一条记录。

/users/1

每次我需要运行

rake sunspot:reindex[,User]

解决这个问题。

有没有办法让它 returns 只有一个条目,即使在更新后也是如此?

真的很难找。但这里有一些选择:

1) 确保您有 2 条索引记录。这里有一些如何调试的建议:Debugging Solr search queries on Sunspot

2) 查看 config/sunspot.yml 以查看回调设置 Github sunspot example 应该有 auto_remove_callback 设置