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

Gilad Barkai commented on LUCENE-4580:
--------------------------------------

{{DrillDown}} is a useful class with a straight-forward API, which makes the 
life of basic users simpler.
As Shai pointed out, today there is no dependency on the Queries module, but 
the code contains a hidden bug in which a 'drill down' operation may change the 
score of the results. And adding a Filter or a {{ConstantScoreQuery}} looks the 
right way to go.
That sort of a fix is possible, while keeping the usefulness of the DrillDown 
class, only if the code becomes dependent on the queries module.
On the other hand, removing the dependency would force most faceted users to 
write that exact extra code as mentioned. Preventing such cases was the reason 
that utility class was created.

'Drilling Down' is a basic feature of a faceted search application, and the 
DrillDown class provides an easy way of invoking it.
Having a faceted search application without utilizing the queries module (e.g 
filtering) seems remote - is there any such scenario?
Module dependency may result with a user loading jars he does not need or care 
about, but the queries module jar is likely to be found on any faceted search 
application.

Modules should be independent, but I see enough gain in here. It would not 
bother me if the faceted module would depend on the query module. I find it 
logical.

-1 for forcing users to write same code over and over to keep facet module 
independent of the queries module
+1 for adding {{DrillDown.filter(CategoryPath...)}} - That looks like the way 
to go

                
> Facet DrillDown should return a Filter not Query
> ------------------------------------------------
>
>                 Key: LUCENE-4580
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4580
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Shai Erera
>            Priority: Minor
>
> DrillDown is a helper class which the user can use to convert a facet value 
> that a user selected into a Query for performing drill-down or narrowing the 
> results. The API has several static methods that create e.g. a Term or Query.
> Rather than creating a Query, it would make more sense to create a Filter I 
> think. In most cases, the clicked facets should not affect the scoring of 
> documents. Anyway, even if it turns out that it must return a Query (which I 
> doubt), we should at least modify the impl to return a ConstantScoreQuery.

--
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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to