【问题标题】:accessing entire resultset in sunspot solr在太阳黑子 solr 中访问整个结果集
【发布时间】:2015-05-07 13:52:49
【问题描述】:

我想获得 solr 搜索的所有结果。

考虑这个例子:

@search = Post.search do
  with(:blog_id, 1)
  fulltext("pizza")
  paginate :page => params[:page], :per_page => 50
end

@posts = @search.results
@rows_num = @search.total

返回的总行数为 250。默认情况下,每页显示 50 行。

到目前为止,一切都很好。

我现在需要获取所有搜索结果(250 个结果)以进行进一步处理。 @posts 只包含页面上显示的 50 行。

@posts.all 似乎不起作用。

如何访问太阳黑子 solr 搜索的整个结果集?

感谢您的帮助。

【问题讨论】:

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


    【解决方案1】:

    虽然我不知道 Ruby 或 Sunspot,但在您的查询中有 :per_page 参数,其值为 50。根据 sunspot API 文档,在 solr HTTP REST API 上,这应该等同于 rows=x 参数。基本上,这是告诉单个查询返回多少结果的参数。如果它的值是 1000000,它将始终返回查询中的所有结果,最多为一百万,无论找到多少。

    以更高的限制进行第二次查询以获取所有文档。选择您可以处理的上限,因为某些查询可以匹配并返回整个索引,给定足够高的行值。

    【讨论】:

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