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]