Hoss Man created SOLR-13717:
-------------------------------

             Summary: Distributed Grouping breaks multi valued 'fl' param
                 Key: SOLR-13717
                 URL: https://issues.apache.org/jira/browse/SOLR-13717
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: Hoss Man
            Assignee: Hoss Man



Co-worker discovered a bug with (distributed) grouping when multiple {{fl}} 
params are specified.

{{StoredFieldsShardRequestFactory}} has very (old and) brittle code that 
assumes there will be 0 or 1 {{fl}} params in the original request that it 
should inspect to see if it needs to append (via string concat) the uniqueKey 
field onto in order to collate the returned stored fields into their respective 
(grouped) documents -- and then ignores any additional {{fl}} params that may 
exist in the original request when it does so.

The net result is that only the uniqueKey field and whatever fields _are_ 
specified in the first {{fl}} param specified are fetched from each shard and 
ultimately returned.

The only workaround is to replace multiple {{fl}} params with a single {{fl}} 
param containing a comma seperated list of the requested fields.

----

Bug is trivial to reproduce with {{bin/solr -e cloud -noprompt}} by comparing 
these requests which should all be equivilent...

{noformat}
$ bin/post -c gettingstarted -out yes example/exampledocs/books.csv
...
$ curl 
'http://localhost:8983/solr/gettingstarted/query?omitHeader=true&indent=true&fl=author,name,id&q=*:*&group=true&group.field=genre_s'
{
  "grouped":{
    "genre_s":{
      "matches":10,
      "groups":[{
          "groupValue":"fantasy",
          "doclist":{"numFound":8,"start":0,"maxScore":1.0,"docs":[
              {
                "id":"0812521390",
                "name":["The Black Company"],
                "author":["Glen Cook"]}]
          }},
        {
          "groupValue":"scifi",
          "doclist":{"numFound":2,"start":0,"docs":[
              {
                "id":"0553293354",
                "name":["Foundation"],
                "author":["Isaac Asimov"]}]
          }}]}}}
$ curl 
'http://localhost:8983/solr/gettingstarted/query?omitHeader=true&indent=true&fl=author&fl=name,id&q=*:*&group=true&group.field=genre_s'
{
  "grouped":{
    "genre_s":{
      "matches":10,
      "groups":[{
          "groupValue":"fantasy",
          "doclist":{"numFound":8,"start":0,"maxScore":1.0,"docs":[
              {
                "id":"0812521390",
                "author":["Glen Cook"]}]
          }},
        {
          "groupValue":"scifi",
          "doclist":{"numFound":2,"start":0,"docs":[
              {
                "id":"0553293354",
                "author":["Isaac Asimov"]}]
          }}]}}}
$ curl 
'http://localhost:8983/solr/gettingstarted/query?omitHeader=true&indent=true&fl=id&fl=author&fl=name&q=*:*&group=true&group.field=genre_s'
{
  "grouped":{
    "genre_s":{
      "matches":10,
      "groups":[{
          "groupValue":"fantasy",
          "doclist":{"numFound":8,"start":0,"maxScore":1.0,"docs":[
              {
                "id":"0553573403"}]
          }},
        {
          "groupValue":"scifi",
          "doclist":{"numFound":2,"start":0,"docs":[
              {
                "id":"0553293354"}]
          }}]}}}
{noformat}




--
This message was sent by Atlassian Jira
(v8.3.2#803003)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to