Our Solr started to throw the following exception when requesting the
facets of a multivalued field holding a lot of terms.

SEVERE: org.apache.solr.common.SolrException: Too many values for
UnInvertedField faceting on field topic
        at 
org.apache.solr.request.UnInvertedField.uninvert(UnInvertedField.java:390)
        at 
org.apache.solr.request.UnInvertedField.<init>(UnInvertedField.java:180)
        at 
org.apache.solr.request.UnInvertedField.getUnInvertedField(UnInvertedField.java:871)
        at 
org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:287)
        at 
org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:319)
        at 
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:72)
        at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:193)
        at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1373)
        at 
org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:54)
        at org.apache.solr.core.SolrCore$4.call(SolrCore.java:1198)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:139)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909)
        at java.lang.Thread.run(Thread.java:662)

Is there a way around it, maybe a setting to increase the limit?
Using facet.method=enum, as suggested in a thread in 2009, is far too
slow, at least in the experiments I did.

I'm using Solr 3.5.0 on Linux (192GB RAM), so faceting was pretty fast
after an initial cache warming.

Cheers,
Michael

Reply via email to