You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Raintung Li (JIRA)" <ji...@apache.org> on 2014/03/10 04:29:42 UTC

[jira] [Updated] (SOLR-5842) facet.pivot need provide the more information and additional function

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

Raintung Li updated SOLR-5842:
------------------------------

    Description: 
Because facet can set the facet.limit and facet.offset, we can't get the next array size for facet.pivot. If you want to get the next pivot size, you have to set  the facet.limit to max integer then to count the array size. In that way you will get a lot of terms for pivot field that's impact the network and Client. 
Update some functions in the API
For example:
facet=true&facet.pivot=test,testb,id&
facet.pivot.min.field=id& -- Get the <id> min value
facet.pivot.max.field=id& -- Get the <id> max value 
facet.pivot.sum.field=id    -- Sum the <id> value
facet.pivot.count=true     --- Open the get array size function
facet.pivot.count.field=id  --Get the <id> array size
facet.pivot.count.next=true -- Get the next pivot field array size

Response:
<lst name="facet_pivot">
<long name="idSUM">572</long>
<long name="idMAX">333</long>
<long name="idMIN">1</long>
<long name="idArrCount">12</long>
<arr name="test,testb,id">
<lst>
<str name="field">test</str>
<str name="value">change.me</str>
<int name="count">5</int>
<long name="idSUM">91</long>
<long name="idMAX">33</long>
<long name="idMIN">1</long>
<long name="idArrCount">5</long>
<long name="testbArrCount">2</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<str name="value">test</str>
<int name="count">1</int>
<long name="idSUM">3</long>
<long name="idMAX">3</long>
<long name="idMIN">3</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">3</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
<lst>
<str name="field">testb</str>
<null name="value"/>
<int name="count">4</int>
<long name="idSUM">88</long>
<long name="idMAX">33</long>
<long name="idMIN">1</long>
<long name="idArrCount">4</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">1</int>
<int name="count">1</int>
</lst>
<lst>
<str name="field">id</str>
<int name="value">22</int>
<int name="count">1</int>
</lst>
<lst>
<str name="field">id</str>
<int name="value">32</int>
<int name="count">1</int>
</lst>
<lst>
<str name="field">id</str>
<int name="value">33</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
<lst>
<str name="field">test</str>
<str name="value">100</str>
<int name="count">1</int>
<long name="idSUM">66</long>
<long name="idMAX">66</long>
<long name="idMIN">66</long>
<long name="idArrCount">1</long>
<long name="testbArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<null name="value"/>
<int name="count">1</int>
<long name="idSUM">66</long>
<long name="idMAX">66</long>
<long name="idMIN">66</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">66</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
<lst>
<str name="field">test</str>
<str name="value">200</str>
<int name="count">1</int>
<long name="idSUM">34</long>
<long name="idMAX">34</long>
<long name="idMIN">34</long>
<long name="idArrCount">1</long>
<long name="testbArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<null name="value"/>
<int name="count">1</int>
<long name="idSUM">34</long>
<long name="idMAX">34</long>
<long name="idMIN">34</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">34</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
<lst>
<str name="field">test</str>
<str name="value">500</str>
<int name="count">1</int>
<long name="idSUM">23</long>
<long name="idMAX">23</long>
<long name="idMIN">23</long>
<long name="idArrCount">1</long>
<long name="testbArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<null name="value"/>
<int name="count">1</int>
<long name="idSUM">23</long>
<long name="idMAX">23</long>
<long name="idMIN">23</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">23</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
<lst>
<str name="field">test</str>
<str name="value">change.me1</str>
<int name="count">1</int>
<long name="idSUM">4</long>
<long name="idMAX">4</long>
<long name="idMIN">4</long>
<long name="idArrCount">1</long>
<long name="testbArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<str name="value">test1</str>
<int name="count">1</int>
<long name="idSUM">4</long>
<long name="idMAX">4</long>
<long name="idMIN">4</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">4</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
<lst>
<str name="field">test</str>
<str name="value">me</str>
<int name="count">1</int>
<long name="idSUM">11</long>
<long name="idMAX">11</long>
<long name="idMIN">11</long>
<long name="idArrCount">1</long>
<long name="testbArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<str name="value">change.me</str>
<int name="count">1</int>
<long name="idSUM">11</long>
<long name="idMAX">11</long>
<long name="idMIN">11</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">11</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
<lst>
<str name="field">test</str>
<str name="value">ok</str>
<int name="count">1</int>
<long name="idSUM">333</long>
<long name="idMAX">333</long>
<long name="idMIN">333</long>
<long name="idArrCount">1</long>
<long name="testbArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<str name="value">ok</str>
<int name="count">1</int>
<long name="idSUM">333</long>
<long name="idMAX">333</long>
<long name="idMIN">333</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">333</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
<lst>
<str name="field">test</str>
<null name="value"/>
<int name="count">1</int>
<long name="idSUM">10</long>
<long name="idMAX">10</long>
<long name="idMIN">10</long>
<long name="idArrCount">1</long>
<long name="testbArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">testb</str>
<str name="value">testb</str>
<int name="count">1</int>
<long name="idSUM">10</long>
<long name="idMAX">10</long>
<long name="idMIN">10</long>
<long name="idArrCount">1</long>
<arr name="pivot">
<lst>
<str name="field">id</str>
<int name="value">10</int>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>
</arr>
</lst>




  was:
Because facet can set the facet.limit and facet.offset, we can't get the next array size for facet.pivot. If you want to get the next pivot size, you have to set  the facet.limit to max integer then to count the array size. In that way you will get a lot of terms for pivot field that's impact the network and Client. 



> facet.pivot need provide the more information and additional function
> ---------------------------------------------------------------------
>
>                 Key: SOLR-5842
>                 URL: https://issues.apache.org/jira/browse/SOLR-5842
>             Project: Solr
>          Issue Type: Improvement
>          Components: SolrCloud
>    Affects Versions: 4.6
>            Reporter: Raintung Li
>
> Because facet can set the facet.limit and facet.offset, we can't get the next array size for facet.pivot. If you want to get the next pivot size, you have to set  the facet.limit to max integer then to count the array size. In that way you will get a lot of terms for pivot field that's impact the network and Client. 
> Update some functions in the API
> For example:
> facet=true&facet.pivot=test,testb,id&
> facet.pivot.min.field=id& -- Get the <id> min value
> facet.pivot.max.field=id& -- Get the <id> max value 
> facet.pivot.sum.field=id    -- Sum the <id> value
> facet.pivot.count=true     --- Open the get array size function
> facet.pivot.count.field=id  --Get the <id> array size
> facet.pivot.count.next=true -- Get the next pivot field array size
> Response:
> <lst name="facet_pivot">
> <long name="idSUM">572</long>
> <long name="idMAX">333</long>
> <long name="idMIN">1</long>
> <long name="idArrCount">12</long>
> <arr name="test,testb,id">
> <lst>
> <str name="field">test</str>
> <str name="value">change.me</str>
> <int name="count">5</int>
> <long name="idSUM">91</long>
> <long name="idMAX">33</long>
> <long name="idMIN">1</long>
> <long name="idArrCount">5</long>
> <long name="testbArrCount">2</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <str name="value">test</str>
> <int name="count">1</int>
> <long name="idSUM">3</long>
> <long name="idMAX">3</long>
> <long name="idMIN">3</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">3</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">testb</str>
> <null name="value"/>
> <int name="count">4</int>
> <long name="idSUM">88</long>
> <long name="idMAX">33</long>
> <long name="idMIN">1</long>
> <long name="idArrCount">4</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">1</int>
> <int name="count">1</int>
> </lst>
> <lst>
> <str name="field">id</str>
> <int name="value">22</int>
> <int name="count">1</int>
> </lst>
> <lst>
> <str name="field">id</str>
> <int name="value">32</int>
> <int name="count">1</int>
> </lst>
> <lst>
> <str name="field">id</str>
> <int name="value">33</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">test</str>
> <str name="value">100</str>
> <int name="count">1</int>
> <long name="idSUM">66</long>
> <long name="idMAX">66</long>
> <long name="idMIN">66</long>
> <long name="idArrCount">1</long>
> <long name="testbArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <null name="value"/>
> <int name="count">1</int>
> <long name="idSUM">66</long>
> <long name="idMAX">66</long>
> <long name="idMIN">66</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">66</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">test</str>
> <str name="value">200</str>
> <int name="count">1</int>
> <long name="idSUM">34</long>
> <long name="idMAX">34</long>
> <long name="idMIN">34</long>
> <long name="idArrCount">1</long>
> <long name="testbArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <null name="value"/>
> <int name="count">1</int>
> <long name="idSUM">34</long>
> <long name="idMAX">34</long>
> <long name="idMIN">34</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">34</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">test</str>
> <str name="value">500</str>
> <int name="count">1</int>
> <long name="idSUM">23</long>
> <long name="idMAX">23</long>
> <long name="idMIN">23</long>
> <long name="idArrCount">1</long>
> <long name="testbArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <null name="value"/>
> <int name="count">1</int>
> <long name="idSUM">23</long>
> <long name="idMAX">23</long>
> <long name="idMIN">23</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">23</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">test</str>
> <str name="value">change.me1</str>
> <int name="count">1</int>
> <long name="idSUM">4</long>
> <long name="idMAX">4</long>
> <long name="idMIN">4</long>
> <long name="idArrCount">1</long>
> <long name="testbArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <str name="value">test1</str>
> <int name="count">1</int>
> <long name="idSUM">4</long>
> <long name="idMAX">4</long>
> <long name="idMIN">4</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">4</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">test</str>
> <str name="value">me</str>
> <int name="count">1</int>
> <long name="idSUM">11</long>
> <long name="idMAX">11</long>
> <long name="idMIN">11</long>
> <long name="idArrCount">1</long>
> <long name="testbArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <str name="value">change.me</str>
> <int name="count">1</int>
> <long name="idSUM">11</long>
> <long name="idMAX">11</long>
> <long name="idMIN">11</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">11</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">test</str>
> <str name="value">ok</str>
> <int name="count">1</int>
> <long name="idSUM">333</long>
> <long name="idMAX">333</long>
> <long name="idMIN">333</long>
> <long name="idArrCount">1</long>
> <long name="testbArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <str name="value">ok</str>
> <int name="count">1</int>
> <long name="idSUM">333</long>
> <long name="idMAX">333</long>
> <long name="idMIN">333</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">333</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> <lst>
> <str name="field">test</str>
> <null name="value"/>
> <int name="count">1</int>
> <long name="idSUM">10</long>
> <long name="idMAX">10</long>
> <long name="idMIN">10</long>
> <long name="idArrCount">1</long>
> <long name="testbArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">testb</str>
> <str name="value">testb</str>
> <int name="count">1</int>
> <long name="idSUM">10</long>
> <long name="idMAX">10</long>
> <long name="idMIN">10</long>
> <long name="idArrCount">1</long>
> <arr name="pivot">
> <lst>
> <str name="field">id</str>
> <int name="value">10</int>
> <int name="count">1</int>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>
> </arr>
> </lst>



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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