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


Reply via email to