You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Pablo Anzorena (JIRA)" <ji...@apache.org> on 2016/03/01 16:12:18 UTC

[jira] [Updated] (SOLR-8768) Wrong behaviour in json facets

     [ https://issues.apache.org/jira/browse/SOLR-8768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pablo Anzorena updated SOLR-8768:
---------------------------------
    Description: 
This bug is quite difficult to explain it, so I will first show it with an example and then explain it.

I have a core splitted into three shards, let's call them 'sellers_2014', 'sellers_2015', 'sellers_2016'.

The schema has the following fields:
seller_name, string
seller_measure, double
seller_date, date

With the following data.
'sellers_2014'
Tyrion, 1, 2014-01-01T00:00:00Z
Jon, 50, 2014-01-01T00:00:00Z
PoorNed, 4, 2014-01-01T00:00:00Z

'sellers_2015'
Tyrion, 100, 2015-01-01T00:00:00Z
Jon, 50, 2015-01-01T00:00:00Z
PoorNed, 4, 2015-01-01T00:00:00Z

'sellers_2016'
Tyrion, 1, 2015-01-01T00:00:00Z
Jon, 50, 2015-01-01T00:00:00Z
PoorNed, 4, 2015-01-01T00:00:00Z

Request:
http://localhost:8983/solr/sellers_2016/select?q=*:*&shards=localhost:8983/solr/sellers_2014,localhost:8983/solr/sellers_2015,localhost:8983/solr/sellers_2016&json.facet=
{code}
{
  top_sellers: {
    type: terms,
    field: seller_name,
    limit: 2,
    offset: 0,
    sort: "seller_measure desc",
    facet: {
      seller_measure: "sum(seller_measure)",
      seller_dates: {
        type: range,
        field: seller_date,
        start: "2014-01-01T00:00:00Z",
        end: "2016-12-31T00:00:00Z",
        gap: "+1YEARS",
        facet: {
          seller_measure: "sum(seller_measure)"
        }
      }
    }
  }
}
{code}

So... With the request I want to know the top 2 sellers across the three shards and for each seller, their seller_measure for each year.

The response I'm getting is:
{code}
"val": "Jon",
"count": 3,
"seller_measure": 150,
"seller_dates": {
  "buckets": [
    {
      "val": "2014-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 50
    },
    {
      "val": "2015-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 50
    },
    {
      "val": "2016-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 50
    }
  ]
},
"val": "Tyrion",
"count": 3,
"seller_measure": 102,
"seller_dates": {
  "buckets": [
    {
      "val": "2015-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 100
    }
  ]
}
{code}

which is incorrect, because the two buckets of 2014 and 2016 in Tyrion are missing.



  was:
This bug is quite difficult to explain it, so I will first show it with an example and then explain it.

I have a core splitted into three shards, let's call them 'sellers_2014', 'sellers_2015', 'sellers_2016'.

The schema has the following fields:
seller_name, string
seller_measure, double
seller_date, date

With the following data.
'sellers_2014'
Tyrion, 1, 2014-01-01T00:00:00Z
Jon, 50, 2014-01-01T00:00:00Z
PoorNed, 4, 2014-01-01T00:00:00Z

'sellers_2015'
Tyrion, 100, 2015-01-01T00:00:00Z
Jon, 50, 2015-01-01T00:00:00Z
PoorNed, 4, 2015-01-01T00:00:00Z

'sellers_2016'
Tyrion, 1, 2015-01-01T00:00:00Z
Jon, 50, 2015-01-01T00:00:00Z
PoorNed, 4, 2015-01-01T00:00:00Z

Request:
http://localhost:8983/solr/sellers_2016/select?q=*:*&shards=localhost:8983/solr/sellers_2014,localhost:8983/solr/sellers_2015,localhost:8983/solr/sellers_2016&json.facet=
{code}
{top_sellers:{type:terms,field:seller_name,limit:2,offset:0,sort:"seller_measure desc",facet:{seller_measure:"sum(seller_measure)",
seller_dates:{type:range,field:seller_date,start:"2014-01-01T00:00:00Z",end:"2016-12-31T00:00:00Z",gap:"+1YEARS",facet:{seller_measure:"sum(seller_measure)"}}}}}
{code}

So... With the request I want to know the top 2 sellers across the three shards and for each seller, their seller_measure for each year.

The response I'm getting is:
{code}
"val": "Jon",
"count": 3,
"seller_measure": 150,
"seller_dates": {
  "buckets": [
    {
      "val": "2014-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 50
    },
    {
      "val": "2015-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 50
    },
    {
      "val": "2016-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 50
    }
  ]
},
"val": "Tyrion",
"count": 3,
"seller_measure": 102,
"seller_dates": {
  "buckets": [
    {
      "val": "2015-01-01T00:00:00Z",
      "count": 1,
      "seller_measure": 100
    }
  ]
}
{code}

which is incorrect, because the two buckets of 2014 and 2016 in Tyrion are missing.




> Wrong behaviour in json facets
> ------------------------------
>
>                 Key: SOLR-8768
>                 URL: https://issues.apache.org/jira/browse/SOLR-8768
>             Project: Solr
>          Issue Type: Bug
>          Components: Facet Module
>            Reporter: Pablo Anzorena
>
> This bug is quite difficult to explain it, so I will first show it with an example and then explain it.
> I have a core splitted into three shards, let's call them 'sellers_2014', 'sellers_2015', 'sellers_2016'.
> The schema has the following fields:
> seller_name, string
> seller_measure, double
> seller_date, date
> With the following data.
> 'sellers_2014'
> Tyrion, 1, 2014-01-01T00:00:00Z
> Jon, 50, 2014-01-01T00:00:00Z
> PoorNed, 4, 2014-01-01T00:00:00Z
> 'sellers_2015'
> Tyrion, 100, 2015-01-01T00:00:00Z
> Jon, 50, 2015-01-01T00:00:00Z
> PoorNed, 4, 2015-01-01T00:00:00Z
> 'sellers_2016'
> Tyrion, 1, 2015-01-01T00:00:00Z
> Jon, 50, 2015-01-01T00:00:00Z
> PoorNed, 4, 2015-01-01T00:00:00Z
> Request:
> http://localhost:8983/solr/sellers_2016/select?q=*:*&shards=localhost:8983/solr/sellers_2014,localhost:8983/solr/sellers_2015,localhost:8983/solr/sellers_2016&json.facet=
> {code}
> {
>   top_sellers: {
>     type: terms,
>     field: seller_name,
>     limit: 2,
>     offset: 0,
>     sort: "seller_measure desc",
>     facet: {
>       seller_measure: "sum(seller_measure)",
>       seller_dates: {
>         type: range,
>         field: seller_date,
>         start: "2014-01-01T00:00:00Z",
>         end: "2016-12-31T00:00:00Z",
>         gap: "+1YEARS",
>         facet: {
>           seller_measure: "sum(seller_measure)"
>         }
>       }
>     }
>   }
> }
> {code}
> So... With the request I want to know the top 2 sellers across the three shards and for each seller, their seller_measure for each year.
> The response I'm getting is:
> {code}
> "val": "Jon",
> "count": 3,
> "seller_measure": 150,
> "seller_dates": {
>   "buckets": [
>     {
>       "val": "2014-01-01T00:00:00Z",
>       "count": 1,
>       "seller_measure": 50
>     },
>     {
>       "val": "2015-01-01T00:00:00Z",
>       "count": 1,
>       "seller_measure": 50
>     },
>     {
>       "val": "2016-01-01T00:00:00Z",
>       "count": 1,
>       "seller_measure": 50
>     }
>   ]
> },
> "val": "Tyrion",
> "count": 3,
> "seller_measure": 102,
> "seller_dates": {
>   "buckets": [
>     {
>       "val": "2015-01-01T00:00:00Z",
>       "count": 1,
>       "seller_measure": 100
>     }
>   ]
> }
> {code}
> which is incorrect, because the two buckets of 2014 and 2016 in Tyrion are missing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org