[
https://issues.apache.org/jira/browse/SOLR-10085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15848571#comment-15848571
]
Dennis Gove commented on SOLR-10085:
------------------------------------
There's no guarantee of field order in the tuple. Fields can be added to the
tuple at any point in the stream (consider a select after a rollup after a
facet after a search). There's no way to know that the user wants a particular
order of the fields in the tuple.
Beyond that, order of fields in json is not guaranteed. So while the stream
handler could try to re-order the fields in the tuple, there is no guarantee
that the serializer (or the client's deserializer) will honor that.
bq. From RFC 7159 -The JavaScript Object Notation (JSON) Data Interchange
Format: An object is an unordered collection of zero or more name/value pairs,
where a name is a string and a value is a string, number, boolean, null,
object, or array.
> Streaming Expressions result-set fields not in order
> ----------------------------------------------------
>
> Key: SOLR-10085
> URL: https://issues.apache.org/jira/browse/SOLR-10085
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: faceting
> Affects Versions: 6.3
> Environment: Windows 8.1, Java 8
> Reporter: Yeo Zheng Lin
> Labels: json, streaming
>
> I'm trying out the Streaming Expressions in Solr 6.3.0.
> Currently, I'm facing the issue of not being able to get the fields in the
> result-set to be displayed in the same order as what I put in the query.
> For example, when I execute this query:
> http://localhost:8983/solr/collection1/stream?expr=facet(collection1,
> q="*:*",
> buckets="id,cost,quantity",
> bucketSorts="cost desc",
> bucketSizeLimit=100,
> sum(cost),
> sum(quantity),
> min(cost),
> min(quantity),
> max(cost),
> max(quantity),
> avg(cost),
> avg(quantity),
> count(*))&indent=true
> I get the following in the result-set.
> {
> "result-set":{"docs":[
> {
> "min(quantity)":12.21,
> "avg(quantity)":12.21,
> "sum(cost)":256.33,
> "max(cost)":256.33,
> "count(*)":1,
> "min(cost)":256.33,
> "cost":256.33,
> "avg(cost)":256.33,
> "quantity":12.21,
> "id":"000001",
> "sum(quantity)":12.21,
> "max(quantity)":12.21},
> {
> "EOF":true,
> "RESPONSE_TIME":359}]}}
> The fields are displayed randomly all over the place, instead of the order
> sum, min, max, avg as in the query. This may cause confusion to user who look
> at the output. Possible improvement to display the fields in the result-set
> in the same order as the query
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]