Hello!
I am seeing a disconnect between the Solr JSON Request API and the `defaults`
section in the request handlers, specifically around the handling of 'fields'
and 'fl' parameters.
To demonstrate, I have a request handler that looks like this:
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">all</str>
<int name="rows">20</int>
<arr name="fl">
<str>field1</str>
<str>field2</str>
<str>field3</str>
</arr>
</lst>
</requestHandler>
I then send a JSON Request API request that overrides it, but uses the 'fields'
key in a JSON Request.
{ "query": "foo",
"fields": ["field4", "field5", "field6"]
}
What I would expect is to see the returned documents with fields 4, 5, and 6
present, but instead they are returned with fields 1, 2, and 3 (the defaults).
I can work around this issue by using the 'params' key in the request:
{ "query": "foo",
"params": {"fl": ["field4", "field5", "field6"]}
}
In this case I see fields 4, 5, and 6 in the result, but this means that I
cannot use the "fields" parameter in the JSON Request API.
I have also tried changing the request handler to:
<arr name="fields">
<str>field1</str>
<str>field2</str>
<str>field3</str>
</arr>
but this does not work.
Is this a known bug?
Many thanks,
-Andrew Hankinson