【问题标题】:Sunspot solr: boost scalar fields太阳黑子 solr:提升标量场
【发布时间】:2014-07-23 03:12:35
【问题描述】:

我正在通过多个标量字段进行范围界定,我希望将范围结果推送到搜索结果的顶部,而不排除不符合最喜欢作者标准的结果。

文章拥有并属于许多作者

这不起作用,但这是我想要的:

favorite_author_ids = @current_user.favorite_author_ids

@search = JournalArticle.solr_search do
  fulltext params[:article_title]
  any_of do
    boost(2.0) {with(:author_ids), favorite_author_ids}
    with(:author_ids), []
  end
end

我想我可以进行两次搜索并将结果连接起来,但我想知道是否有更简洁的方法。

【问题讨论】:

    标签: ruby-on-rails-3 solr sunspot sunspot-rails sunspot-solr


    【解决方案1】:

    any_of 块内进行提升是没有意义的。你可能想做这样的事情:

    favorite_author_ids = @current_user.favorite_author_ids
    
    @search = JournalArticle.solr_search do
      fulltext params[:article_title] do
        boost(2.0) {with(:author_ids, favorite_author_ids)}
      end
    end
    

    您可能还需要增加提升,这取决于您是否只想增加最喜欢作者的排名,或者您是否希望他们始终排在首位。

    【讨论】:

      猜你喜欢
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多