[
https://issues.apache.org/jira/browse/SOLR-2894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated SOLR-2894:
---------------------------
Attachment: SOLR-2894.patch
bq. By the looks of things, it looks the problem seems to be poping up when a
refinement constraint in a multi-level pivot involves the empty string (and/or
missing values?)
Hmmm... both cases definitely seem to be problematic:
* refining on values that are the empty string {{""}}
* refining against the {{null}} psuedo-values when using {{facet.missing}}
(Note: TestCloudPivotFacet currently doesn't even try facet.missing -- need to
rememedy that in a future patch)
----
The attached patch update modifies DistributedFacetPivotLargeTest to add a new
"special_s" field to a handful of docs -- some of which get the value of
SPECIAL ({{final String SPECIAL = "";}} and it goes into a loop here...
{code}
// refine on empty string
rsp = query( "q", "*:*",
"rows", "0",
"facet","true",
"facet.limit","1",
FacetParams.FACET_OVERREQUEST_RATIO, "0", // force refine
FacetParams.FACET_OVERREQUEST_COUNT, "0", // force refine
"facet.pivot","special_s,company_t");
{code}
{noformat}
[junit4] 2> 32409 T43 C21 oasc.SolrCore.execute [collection1]
webapp=/po_cuf path=/select
params={shard.url=[ff01::083]:33332/po_cuf|[ff01::213]:33332/po_cuf|http://127.0.0.1:37920/po_cuf&NOW=1403920234230&rows=0&isShard=true&distrib=false&wt=javabin&fpt2938=&facet.pivot.mincount=-1&facet.overrequest.count=0&q=*:*&version=2&facet.pivot={!fpt%3D2938}special_s,company_t&facet.overrequest.ratio=0&facet=true&facet.limit=1}
hits=357 status=0 QTime=0
[junit4] 2> 32413 T42 C21 oasc.SolrCore.execute [collection1]
webapp=/po_cuf path=/select
params={shard.url=[ff01::083]:33332/po_cuf|[ff01::213]:33332/po_cuf|http://127.0.0.1:37920/po_cuf&NOW=1403920234230&rows=0&isShard=true&distrib=false&wt=javabin&fpt2939=&facet.pivot.mincount=-1&facet.overrequest.count=0&q=*:*&version=2&facet.pivot={!fpt%3D2939}special_s,company_t&facet.overrequest.ratio=0&facet=true&facet.limit=1}
hits=357 status=0 QTime=0
{noformat}
(Note the {{...&fpt2938=&...}} and {{...&fpt2939=&...}})
Even if you redefine SPECIAL to be some other constant (ie: {{SPECIAL =
"SPECIAL";}}) the code still goes into a loop in the next call, where
facet.missing is used and refinement is needed on the "missing" value...
{code}
// refine on empty string & facet.missing
rsp = query( "q", "*:*",
"fq", "-place_s:0placeholder",
"rows", "0",
"facet","true",
"facet.limit","1",
"facet.missing","true",
FacetParams.FACET_OVERREQUEST_RATIO, "0", // force refine
FacetParams.FACET_OVERREQUEST_COUNT, "0", // force refine
"facet.pivot","special_s,company_t");
{code}
{noformat}
[junit4] 2> 26798 T53 C19 oasc.SolrCore.execute [collection1] webapp=/do_
path=/select
params={facet.overrequest.ratio=0&wt=javabin&facet.missing=true&facet.limit=1&facet.pivot.mincount=-1&facet.pivot={!fpt%3D2151}special_s,company_t&fpt2151=null,microsoft&distrib=false&version=2&shard.url=[ff01::083]:33332/do_|[ff01::213]:33332/do_|https://127.0.0.1:36955/do_|[ff01::114]:33332/do_&facet=true&q=*:*&rows=0&fq=-place_s:0placeholder&NOW=1403920466501&isShard=true&facet.overrequest.count=0}
hits=202 status=0 QTime=0
[junit4] 2> 26802 T54 C19 oasc.SolrCore.execute [collection1] webapp=/do_
path=/select
params={facet.overrequest.ratio=0&wt=javabin&facet.missing=true&facet.limit=1&facet.pivot.mincount=-1&facet.pivot={!fpt%3D2153}special_s,company_t&distrib=false&version=2&shard.url=[ff01::083]:33332/do_|[ff01::213]:33332/do_|https://127.0.0.1:36955/do_|[ff01::114]:33332/do_&facet=true&q=*:*&rows=0&fpt2153=null,microsoft&fq=-place_s:0placeholder&NOW=1403920466501&isShard=true&facet.overrequest.count=0}
hits=202 status=0 QTime=1
{noformat}
(Note the {{...&fpt2151=null,microsoft&...}} and
{{...&fpt2153=null,microsoft&...}})
----
It looks like we need to rethink how the values are encoded into a path for the
purpose of refinement so we can account for and differentiate between missing
values, the empty string (0 chars), and the literal string "null" (4 chars)
> Implement distributed pivot faceting
> ------------------------------------
>
> Key: SOLR-2894
> URL: https://issues.apache.org/jira/browse/SOLR-2894
> Project: Solr
> Issue Type: Improvement
> Reporter: Erik Hatcher
> Assignee: Hoss Man
> Fix For: 4.9, 5.0
>
> Attachments: SOLR-2894-mincount-minification.patch,
> SOLR-2894-reworked.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch,
> SOLR-2894_cloud_test.patch, dateToObject.patch, pivot_mincount_problem.sh
>
>
> Following up on SOLR-792, pivot faceting currently only supports
> undistributed mode. Distributed pivot faceting needs to be implemented.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]