You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Boychuck (JIRA)" <ji...@apache.org> on 2014/08/02 03:13:38 UTC

[jira] [Commented] (SOLR-6066) CollapsingQParserPlugin + Elevation does not respects "fq" (filter query)

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

David Boychuck commented on SOLR-6066:
--------------------------------------

I uploaded a patch. The change is basically to move store the docId's in shared memory as they are collected and then perform the logic to append them to their correct positions in the finish method. This seems to be working for me for now until Joel refactors.

> CollapsingQParserPlugin + Elevation does not respects "fq" (filter query) 
> --------------------------------------------------------------------------
>
>                 Key: SOLR-6066
>                 URL: https://issues.apache.org/jira/browse/SOLR-6066
>             Project: Solr
>          Issue Type: Bug
>          Components: query parsers
>    Affects Versions: 4.8
>            Reporter: Herb Jiang
>            Assignee: Joel Bernstein
>             Fix For: 4.9
>
>         Attachments: SOLR-6066.patch, TestCollapseQParserPlugin.java
>
>
> QueryElevationComponent respects the "fq" parameter. But when use CollapsingQParserPlugin with QueryElevationComponent, additional "fq" has no effect.
> I use following test case to show this issue. (It will failed)
> {code:java}
>     String[] doc = {"id","1", "term_s", "YYYY", "group_s", "group1", "category_s", "cat2", "test_ti", "5", "test_tl", "10", "test_tf", "2000"};
>     assertU(adoc(doc));
>     assertU(commit());
>     String[] doc1 = {"id","2", "term_s","YYYY", "group_s", "group1", "category_s", "cat2", "test_ti", "50", "test_tl", "100", "test_tf", "200"};
>     assertU(adoc(doc1));
>     String[] doc2 = {"id","3", "term_s", "YYYY", "test_ti", "5000", "test_tl", "100", "test_tf", "200"};
>     assertU(adoc(doc2));
>     assertU(commit());
>     String[] doc3 = {"id","4", "term_s", "YYYY", "test_ti", "500", "test_tl", "1000", "test_tf", "2000"};
>     assertU(adoc(doc3));
>     String[] doc4 = {"id","5", "term_s", "YYYY", "group_s", "group2", "category_s", "cat1", "test_ti", "4", "test_tl", "10", "test_tf", "2000"};
>     assertU(adoc(doc4));
>     assertU(commit());
>     String[] doc5 = {"id","6", "term_s","YYYY", "group_s", "group2", "category_s", "cat1", "test_ti", "10", "test_tl", "100", "test_tf", "200"};
>     assertU(adoc(doc5));
>     assertU(commit());
>     //Test additional filter query when using collapse
>     params = new ModifiableSolrParams();
>     params.add("q", "YYYY");
>     params.add("fq", "{!collapse field=group_s}");
>     params.add("fq", "category_s:cat1");
>     params.add("defType", "edismax");
>     params.add("bf", "field(test_ti)");
>     params.add("qf", "term_s");
>     params.add("qt", "/elevate");
>     params.add("elevateIds", "2");
>     assertQ(req(params), "*[count(//doc)=1]",
>         "//result/doc[1]/float[@name='id'][.='6.0']");
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org