使用group.limit时为什么Solr匹配数据和计数不匹配?

时间:2017-05-26 14:16:08

标签: solr sunspot-solr rsolr

我正在执行一个SOLR查询,我在其中对标题进行分组并限制组中的标题数量。我面临的问题是我没有得到与传递限制匹配的确切数量。

e.g:

http://localhost:8080/solr/select?wt=json&indent=true&fl=publication,book_code,bookID,book_date,book_images&q=asset_type:Book+AND+AND+engineering:true&group=true&group.field=book_code&group.limit=3&rows=50000&group.sort=book_date+desc

如何转换此查询,以便我一次可以获取10000条记录。

目前返回的结果是:

{"responseHeader"=>
  {"status"=>0,
   "QTime"=>195,
   "params"=>
    {"fl"=>"publication,book_code,BookID,book_date,book_images",
     "indent"=>"true",
     "q"=>"doc_type:Book AND engineering:true",
     "group.limit"=>"3",
     "group.field"=>"book_code",
     "group.sort"=>"book_date desc",
     "group"=>"true",
     "wt"=>"json",
     "rows"=>"50000"}},
 "grouped"=>
  {"book_code"=>
    {"matches"=>30216,
    "groups"=>
      [{"groupValue"=>"NYM",
        "doclist"=>
         {"numFound"=>2683,
          "start"=>0,
          "docs"=>
           [{"book_code"=>"NYM", .... } and so on 

当我尝试检索我得到的分组书籍的数量时:

result["grouped"]["book_code"]["groups"].count #=> 276

与返回的匹配结果不匹配。

1 个答案:

答案 0 :(得分:1)

<input type="range" style="width: 500px;" value=10> 是与您的查询匹配的文档的总数。 matches值是返回的不同组的数量。即返回的30216文件属于276个不同的组。