使用rSolr对文档进行分组

时间:2013-06-19 12:59:29

标签: ruby-on-rails grouping solr4 rsolr

我正在使用Solr 4在rails上的ruby中构建应用程序。为了在我的应用程序中支持Solr 4,我正在使用rSolr gem。我试图解析一个查询,并将结果文档分组在一个数字上。查询不会形成问题,但我似乎找不到正确的语法来告诉rSolr解析组部分。有谁知道正确的语法是什么?

2 个答案:

答案 0 :(得分:0)

这是在Solr 4中完成分组的方式:

&group=true
&group.field=myField

如果您只想要群组而没有文件,请添加:

&rows=0

答案 1 :(得分:0)

经过一番研究后,我找到了问题的答案。我使用的功能,find方法是特定的,来自不支持分组的rsolr-ext gem:

solr_connection.find(
{
  :q => "*:*", 
  :group => true,
  "group.field" => "group_id"
})   

这会在rsolr-ext gem中引发错误,因为它无法解析哈希的“group.field”部分。没有它,Solr不知道在哪里分组。

答案很简单。只需使用rsolr gem中的select方法:

solr_connection.select(
{
  :q => "*:*", 
  :group => true,
  "group.field" => "group_id"
})

这完美无缺。