【问题标题】:Group documents with rSolr使用 rSolr 对文档进行分组
【发布时间】:2013-06-19 12:59:28
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails grouping solr4 rsolr


    【解决方案1】:

    这就是 Solr 4 中的分组方式:

    &group=true
    &group.field=myField
    

    如果您只想要组而不想要文档,请添加:

    &rows=0
    

    【讨论】:

    • 感谢您的回答。我知道在 Solr 4 中如何进行分组,但我没有构建自己的 url 来查询 Solr,我为此目的使用了 rSolr gem。我需要知道如何将返回的文档与 rSolr 分组。
    • This post 从 2010 年开始暗示(当时)rSolr 不支持分组。
    【解决方案2】:

    经过一番研究,我找到了问题的答案。我正在使用不支持分组的 rsolr-ext gem 中的功能,具体的 find 方法:

    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"
    })
    

    这非常有效。

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 2021-05-05
      • 1970-01-01
      • 2017-11-06
      • 2018-02-19
      • 2017-04-11
      • 2021-04-29
      • 2011-07-29
      • 1970-01-01
      相关资源
      最近更新 更多