You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Joel Bernstein (JIRA)" <ji...@apache.org> on 2014/09/10 01:38:29 UTC

[jira] [Comment Edited] (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=14127787#comment-14127787 ] 

Joel Bernstein edited comment on SOLR-6066 at 9/9/14 11:37 PM:
---------------------------------------------------------------

Also, some things to think about with your application.

Solr provides a consistent view of the index for each query. So softCommits in the backround should not effect the execution of your query. 

Soft commits do open a new searcher though, and the CollapsingQParserPlugin relies on the Lucene FieldCache, which needs to be warmed when a new searcher is opened.

So adding a static warming query that exercises the CollapsingQParserPlugin will ensure that users will not see pauses after softCommits.

If you are softCommitting too frequently this can lead to overlapping searchers as they take time to open and warm. So be sure to space the softCommits far enough apart that you are not opening new searchers faster then they can be warmed.

When you post you're stack trace, it should tell us what's happening though. 


was (Author: joel.bernstein):
Also, some things to thing about with your application.

Solr provides a consistent view of the index for each query. So softCommits in the backround should not effect the execution of your query. 

Soft commits do open a new searcher though, and the CollapsingQParserPlugin relies on the Lucene FieldCache, which needs to be warmed when a new searcher is opened.

So adding a static warming query that exercises the CollapsingQParserPlugin will ensure that users will not see pauses after softCommits.

If you are softCommitting too frequently this can lead to overlapping searchers as they take time to open and warm. So be sure to space the softCommits far enough apart that you are not opening new searchers faster then they can be warmed.

When you post you're stack trace, it should tell us what's happening though. 

> 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, SOLR-6066.patch, 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.3.4#6332)

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