[ 
https://issues.apache.org/jira/browse/LUCENE-4750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13575259#comment-13575259
 ] 

Michael McCandless commented on LUCENE-4750:
--------------------------------------------

bq. If we do the 2nd, then we can check in the ctor already if baseQuery is a 
BQ and just use it to add the drill-down clauses to? If we need to know what 
baseQuery was, we can clone() it? Is it perhaps too much?

I thought more about this ... while this is a tempting optimization ... I think 
it will mess up scoring in general, because if the original query was using 
coord, then adding those clauses will mess this up?  Maybe we could do this if 
the original query isn't using coord?  But maybe leave this as future TODO 
optimization ... it seems dangerous :)
                
> Convert DrillDown to DrillDownQuery
> -----------------------------------
>
>                 Key: LUCENE-4750
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4750
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Shai Erera
>            Assignee: Michael McCandless
>         Attachments: LUCENE-4750.patch
>
>
> DrillDown is a utility class for creating drill-down queries over a base 
> query and a bunch of categories. We've been asked to support AND, OR and AND 
> of ORs. The latter is not so simple as a static utility method though, so 
> instead we have some sample code ...
> Rather, I think that we can just create a DrillDownQuery (extends Query) 
> which takes a baseQuery in its ctor and exposes add(CategoryPath...), such 
> that every such group of categories is AND'ed with other groups, and 
> internally they are OR'ed. It's very similar to how you would construct a 
> BooleanQuery, only simpler and specific to facets.
> Internally, it would build a BooleanQuery and delegate rewrite, createWeight 
> etc to it.
> That will remove the need for the static utility methods .. or we can keep 
> static term() for convenience.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to