Thanks Yonik. I hadn't actually been using "enum" on facets with a small number of unique values; the wiki page doesn't give much guidance on when each is called for. Do you have any rule of thumb for how few unique values is "few enough" to want to use method=enum? Does it matter if the field is single or multi-valued?

Can you in general explain a bit more about the facet methods? The wiki leaves me a bit confused. (I will happily turn anything you say into additional language on the wiki, if the wiki lets me edit it, including any answer to above).

So first, the wiki suggests: "The default value is fc (except for BoolField) since it tends to use less memory and is faster when a field has many unique terms in the index. "

Is this actualy true? If facet.method is left unspecified, facet.method=enum will be used on any BoolField, and facet.method=fc will be used on any other type of field?

Both methods can work on multi-valued fields in 1.4, right?

Then it's a bit extra confusing becuase while facet.method=enum always works the same way, it seems like facet.method=fc chooses different algorithms under the hood (depending on single vs multi-valued field, possibly also depending on number of unique terms?), which you can't actually specify, you just need to let the fc stuff choose on it's own. That's not mentioned in the wiki, but I think I've seen it mentioned before, and trying to look at the source gives me this impression too. Is this correct? Thanks for any additional guidance, this stuff continues to confuse me despite trying to read what I can on it.

Jonathan


Yonik Seeley wrote:
On Thu, Oct 14, 2010 at 3:42 PM, Jonathan Rochkind <rochk...@jhu.edu> wrote:
I believe that should work fine in Solr 1.4.1.  Creating a field with just
first letter of author is definitely the right (possibly only) way to allow
facetting on first letter of author's name.

I have very voluminous facets (few facet values, many docs in each value)
like that in my app too, works fine.

I get confused over the different facetting methods available in 1.4.1, and
exactly when each is called for. If you see initial problems, you could try
switching the facet.method and see what happens.

Right - for faceting on first letter, you should probably use facet.method=enum
since there will only be 26 values (assuming english/western languages).

In the future, I'm hoping we can come up with a smarter way to pick
the facet.method if it's not supplied.  The new flex API in 4.0-dev
should help out here.

-Yonik
http://www.lucidimagination.com

Reply via email to