[
https://issues.apache.org/jira/browse/SOLR-4215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ryan McKinley updated SOLR-4215:
--------------------------------
Attachment: SOLR-4215-check-single-valued.patch
This patch overrides the multiToken flag when:
{code:java}
boolean multiToken = sf.multiValued() || ft.multiValuedFieldCache();
+ if(multiToken) {
+ // Check if the index is really multi-valued
+ Terms terms = searcher.getAtomicReader().terms(field);
+ long size = terms.size();
+ if(size == terms.getSumDocFreq() &&
+ size == terms.getDocCount() &&
+ size > 0) {
+ multiToken = false;
+ }
+ }
{code}
TestFaceting.java passes.... I can't get the other tests to pass on my computer
so i don't really know about the rest :(
Removing:
{code}
size == terms.getDocCount() &&
{code}
from the check makes testFacets 'check many tokens' fail
> Optimize facets when multi-valued field is really single valued
> ---------------------------------------------------------------
>
> Key: SOLR-4215
> URL: https://issues.apache.org/jira/browse/SOLR-4215
> Project: Solr
> Issue Type: Improvement
> Components: SearchComponents - other
> Reporter: Ryan McKinley
> Priority: Minor
> Fix For: 4.1
>
> Attachments: SOLR-4215-check-single-valued.patch
>
>
> In lucene 4+, the Terms interface can quickly tell us if the index is
> actually single-valued. We should use that for better facet performance with
> multi-valued fields (when they are actually single valued)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]