The initial request was slow as the UnivertedField was built and cached.
Subsequent queries will be fast. To ensure that users don't see this pause
after a new searcher is opened, you can warm the new searcher in the
background using a static warming query in the solrconfig.xml.

There are different implementations for computing facets based on the field
type. For multi-value string fields the UnivertedField is used by default.
Indexing the field with DocValues would use a different implementation. The
DocValues implementation should load into memory much faster then the
UninvertedField, which is univerted from the index.








On Sun, Dec 1, 2013 at 2:03 PM, Shyamsunder R Mutcha <sjh...@yahoo.com>wrote:

> We have a large index where each document has stored multi-valued string
> field called products.  Also we have lot of customization of search
> requests. Each request goes through a pre-defined custom search handler and
> docId are stored for facet calculation.
>
> Following method is called to get facets for products field where docSet
> is the document ids gathers in the searcher chain.
> SimpleFacets f = new SimpleFacets(rb.req, docSet, msparams, rb);
>
>
> I found this entry in the logs:
> Dec 1, 2013 10:42:51 AM org.apache.solr.request.UnInvertedField uninvert
> INFO: UnInverted multi-valued field
> {field=products,memSize=158633430,tindexSize=1582000,time=414797,phase1=414140,nTerms=4660858,bigTerms=0,termInstances=32608058,uses=0}
>
> Subsequent calls for the same request are rendered fast.
> Is there any way to improve the facet counting using other methods?
>
> Thanks




-- 
Joel Bernstein
Search Engineer at Heliosearch

Reply via email to