: Subject: support for multi-select facets
I'm confused by something ... is the issue here really "multi-select
facets"? ... that can be dealt with "OR" queries. What it seems you are
trying to tackle isn't so much about UIs that want to allow a multi-select
when faceting on a given field, but when the UI wants to display
facet counts for one field which are not constrained by existing filters
on another field. correct?
that seems orthoginal to doing "multi-select"
: Option #1: ability to specify the query/filters per-facet:
...
: Option #2: ability to specify as a "local param" (meta-data on a parameter)
...
: Option #3: tag parts of a request using "local params"
Wouldn't the simplest solution just be to have a new variant of the "fq"
param that is utilized by the QueryComponent but ignored by the
FacetComponent?
Assume "rfq" is a "result fq" - affects the main result set, but not
faceting...
q=foo
fq=date:[1 TO 2]
fq=securityfilter:42
rfq=type:(pdf OR html)
facet.field:type
facet.field:author
...facet constraint counts are only bound by the "foo", "date" and
"security". main result is also limited by "type"
Your Option #3 seems to be an extension of this idea, (assuming i
understand it correctly) using "fq={!tag=X}Y" instead of "rfq=Y" -- but
also requires every facet.field to know about the "X" tag name ....
wouldn't the common case be that you want all facet.fields to "exclude"
all facet related fqs? ... should "facet.field={!ex}Y be shorthand for
"facet.field={!ex=X1,X2,...XN}Y" where X1-XN are the full list of all
known tags in "fq" params?
-Hoss