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

Christine Poerschke updated SOLR-10132:
---------------------------------------
    Attachment: SOLR-10132.patch

Proposing revised patch which avoids use of {{Predicate<BytesRef> MATCH_ALL = 
input -> true;}} because e.g. in 
[DocValuesFacets.java#L187-L192|https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/request/DocValuesFacets.java#L187-L192]
 the predicate is used like this
{code}
if (termFilter != null) {
  final BytesRef term = si.lookupOrd(startTermIndex+i);
  if (!termFilter.test(term)) {
    continue;
  }
}
{code}
and a non-null {{MATCH_ALL}} predicate would thus incur the {{si.lookupOrd}} 
call cost only to then arrive at the 'yes it matches' answer. What do you think?

----

proposed next steps:
* SOLR-10155 to go ahead first, then here rebase patch on top of it
* {{SimpleFacetsTest.testSimpleFacetCounts}} is already very long i.e. 
[SimpleFacetsTest.java#L540-L783|https://github.com/apache/lucene-solr/blob/master/solr/core/src/test/org/apache/solr/request/SimpleFacetsTest.java#L540-L783]
 - how about having a separate test for the new parameter logic e.g. similar to 
the testFacetExclude and testFacetContainsAndExclude methods added in SOLR-9912
* check javadocs and that {{ant precommit}} passes

> Support facet.matches to cull facets returned with a regex
> ----------------------------------------------------------
>
>                 Key: SOLR-10132
>                 URL: https://issues.apache.org/jira/browse/SOLR-10132
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: faceting
>    Affects Versions: 6.4.1
>            Reporter: Gus Heck
>            Assignee: Christine Poerschke
>         Attachments: SOLR-10132.patch, SOLR-10132.patch, SOLR-10132.patch
>
>
> I recently ran into a case where I really wanted to only return the next 
> level of a hierarchical facet, and while I was able to do that with a 
> coordinated set of dynamic fields, it occurred to me that this would have 
> been much much easier if I could have simply used PathHierarchyTokenizer and 
> written
> &facet.matches="/my/current/prefix/[^/]+$"
> thereby limiting the returned facets to the next level down and not return 
> the  additional  N levels I didn't (yet) want to display (numbering in the 
> thousands near the top of the tree). I suspect there are other good use 
> cases, and the patch seemed relatively tractable.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to