I have 100 million documents in my index. The maxDoc here is the maximum Documents in each shard, right? How is it determined that each entry will occupy maxDoc/8 approximately.
If I have to add facet.method=enum every time in the query, how should I specify for each field separately? Like in the above example, I am planning to use products facet with facet.methed=fc and state facet with facet.method=enum. How do I specify different facet methods for different fields while trying to get both of these facets. Thanks, Manohar On Thu, Dec 25, 2014 at 2:52 AM, Erick Erickson <erickerick...@gmail.com> wrote: > Inline. > > On Tue, Dec 23, 2014 at 11:12 PM, Manohar Sripada <manohar...@gmail.com> > wrote: > > Okay. Let me try like this, as mine is a read-only index. I will have > some > > queries in firstSearcher event listener > > 1) q=*:*&facet=true&facet.method=enum&facet.field=state --> To load all > > the state related unique values to filterCache. > > It's not necessary to use facet.method=enum here at all, just facet on the > field > and trust the heuristics built in. If you insist on this be very sure you > can > afford the space. > > > > Will it use filterCache when I sent a query with filter, eg: > > fq=state:CA ?? > > Don't know. Try it and look on admin/stats for the filter cache. You'll > see a new insert if it does not use the one already there. > > > > > Once it is loaded, Do I need to sent a query with facet.method=enum > > every time along with facet.field=state to get state related facet data > > from filterCache? > > See above. You haven't told us how many docs in your index, so we > have no way of estimating how much this'll cost you. Each entry > will be maxDoc/8 roughly, and you'll have about 50 of them. > > Yes, though, if you take control of the facet.method you'll have to > add it every time. > > > > > 2) q=*:*&facet=true&facet.method=fc&facet.field=products --> To load the > > values related to products to fieldCache. > > > Again, while querying for this facet do I need to sent > > facet.method=fc every time? > See above. > > > > > Thanks, > > Manohar > > > > On Wed, Dec 24, 2014 at 11:36 AM, Erick Erickson < > erickerick...@gmail.com> > > wrote: > > > >> By and large, don't use the enum method unless there are _very_ > >> few unique values. It forms a filter (size roughly mixDoc/8 bytes) > >> for _every_ unique value in the field, i.e. if you have 10,000 unique > >> values it'll try to form 10,000 filterCache entries. Let the system > >> do this for you automatically if appropriate. > >> > >> Best, > >> Erick > >> > >> On Tue, Dec 23, 2014 at 9:37 PM, Manohar Sripada <manohar...@gmail.com> > >> wrote: > >> > Thanks Erick and Toke, > >> > > >> > Also, I read here < > https://wiki.apache.org/solr/SolrCaching#filterCache> > >> that, > >> > filterCache can also be used for faceting with facet.method=enum. So, > I > >> am > >> > bit confused here on which one to use for faceting. > >> > > >> > One more thing here is I have different types of facets. (For example > - > >> > Product List, States). The Product List facet has lot many unique > values > >> > (around 10 million), where as States list will be in hundreds. So, I > want > >> > to come up with the numbers for size of fieldValueCache/filterCache > and > >> > pre-populate this. > >> > > >> > Thanks, > >> > Manohar > >> > > >> > On Tue, Dec 23, 2014 at 10:07 PM, Erick Erickson < > >> erickerick...@gmail.com> > >> > wrote: > >> > > >> >> Or just not worry about it. The cache will be filled up automatically > >> >> as you query for facets etc., the benefit to trying to fill it up as > >> >> Toke outlines is just that the first few user queries that call for > >> >> faceting will be somewhat faster. But after the first few user > >> >> queries have gone through, it won't matter whether you've > >> >> pre-loaded the cache or not. > >> >> > >> >> My point is that you'll get the benefit of the cache no matter what, > >> >> it's just a matter of whether it's important that the first few users > >> >> don't have to wait while they're loaded. And with DocValues, > >> >> as Toke recommends, even that may be unimportant. > >> >> > >> >> Best, > >> >> Erick > >> >> > >> >> On Tue, Dec 23, 2014 at 1:03 AM, Toke Eskildsen < > t...@statsbiblioteket.dk > >> > > >> >> wrote: > >> >> > Manohar Sripada [manohar...@gmail.com] wrote: > >> >> >> From the wiki, it states that > >> >> >> http://wiki.apache.org/solr/SolrCaching#fieldValueCache is mostly > >> used > >> >> for > >> >> >> faceting. > >> >> > > >> >> >> Can someone please throw some light on how to load data to this > >> cache. > >> >> Like > >> >> >> on what solrquery option does this consider the data to be loaded > to > >> >> this > >> >> >> cache. > >> >> > > >> >> > The values are loaded on first facet call with facet.method=fc. > >> >> > http://wiki.apache.org/solr/SimpleFacetParameters#facet.method > >> >> > > >> >> >> My requirement is I have 10 facet fields (with facetlimit - 5) to > be > >> >> shown > >> >> >> in my UI. I want to speed up this by using this cache. Is there a > way > >> >> where > >> >> >> I can specify only the list of fields to be loaded to FieldValue > >> Cache? > >> >> > > >> >> > Add a facet call as explicit warmup in your solrconfig.xml. > >> >> > > >> >> > You might want to consider DocValues for your facet fields. > >> >> > https://cwiki.apache.org/confluence/display/solr/DocValues > >> >> > > >> >> > - Toke Eskildsen > >> >> > >> >