Re: CollapsingQParserPlugin throws Exception when useFilterForSortedQuery=true

2014-07-02 Thread Umesh Prasad
Created the jira ..
https://issues.apache.org/jira/browse/SOLR-6222



On 30 June 2014 23:53, Joel Bernstein joels...@gmail.com wrote:

 Sure, go ahead create the ticket. I think there is more we can here as
 well. I suspect we can get the CollapsingQParserPlugin to work with
 useFilterForSortedQuery=true if scoring is not needed for the collapse.
 I'll take a closer look at this.

 Joel Bernstein
 Search Engineer at Heliosearch


 On Mon, Jun 30, 2014 at 1:43 AM, Umesh Prasad umesh.i...@gmail.com
 wrote:

  Hi Joel,
  Thanks a lot for clarification ..  An error message would indeed be a
  good thing ..   Should I open a jira item for same ?
 
 
 
  On 28 June 2014 19:08, Joel Bernstein joels...@gmail.com wrote:
 
   OK, I see the problem. When you use useFilterForSortedQuery true
   /useFilterForSortedQuery Solr builds a docSet in a way that seems to
 be
   incompatible with the CollapsingQParserPlugin. With
   useFilterForSortedQuery
   true /useFilterForSortedQuery, Solr doesn't run the main query again
  when
   collecting the DocSet. The getDocSetScore() method is expecting the
 main
   query to present, because the CollapsingQParserPlugin may need the
 scores
   generated from the main query, to select the group head.
  
   I think trying to make useFilterForSortedQuery true
   /useFilterForSortedQuery compatible with CollapsingQParsePlugin is
   probably not possible. So, a nice error message would be a good thing.
  
   Joel Bernstein
   Search Engineer at Heliosearch
  
  
   On Tue, Jun 24, 2014 at 3:31 AM, Umesh Prasad umesh.i...@gmail.com
   wrote:
  
Hi ,
Found another bug with CollapsignQParserPlugin. Not a critical
 one.
   
It throws an exception when used with
   
useFilterForSortedQuery true /useFilterForSortedQuery
   
Patch attached (against 4.8.1 but reproducible in other branches
 also)
   
   
518 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
   
  
 
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s%7DdefType=edismaxbf=field%28test_ti%29}
hits=2 status=0 QTime=99
4557 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
   
  
 
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s+nullPolicy%3Dexpand+min%3Dtest_tf%7DdefType=edismaxbf=field%28test_ti%29sort=}
hits=4 status=0 QTime=15
4587 T11 C0 oasc.SolrException.log ERROR
java.lang.UnsupportedOperationException: Query  does not implement
createWeight
at org.apache.lucene.search.Query.createWeight(Query.java:80)
at
   
  
 
 org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684)
at
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297)
at
   
  
 
 org.apache.solr.search.SolrIndexSearcher.getDocSetScore(SolrIndexSearcher.java:879)
at
   
  
 
 org.apache.solr.search.SolrIndexSearcher.getDocSet(SolrIndexSearcher.java:902)
at
   
  
 
 org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1381)
at
   
  
 
 org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:478)
at
   
  
 
 org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:461)
at
   
  
 
 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
at
   
  
 
 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)
at
 org.apache.solr.util.TestHarness.query(TestHarness.java:295)
at
 org.apache.solr.util.TestHarness.query(TestHarness.java:278)
at
   org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:676)
at
   org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:669)
at
   
  
 
 org.apache.solr.search.TestCollapseQParserPlugin.testCollapseQueries(TestCollapseQParserPlugin.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
 Method)
at
   
  
 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
   
  
 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
   
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1618)
at
   
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:827)
at
   
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:863)
at
   
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:877)
at
   
  
 
 com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:53)
at
   
  
 
 

Re: CollapsingQParserPlugin throws Exception when useFilterForSortedQuery=true

2014-06-30 Thread Joel Bernstein
Sure, go ahead create the ticket. I think there is more we can here as
well. I suspect we can get the CollapsingQParserPlugin to work with
useFilterForSortedQuery=true if scoring is not needed for the collapse.
I'll take a closer look at this.

Joel Bernstein
Search Engineer at Heliosearch


On Mon, Jun 30, 2014 at 1:43 AM, Umesh Prasad umesh.i...@gmail.com wrote:

 Hi Joel,
 Thanks a lot for clarification ..  An error message would indeed be a
 good thing ..   Should I open a jira item for same ?



 On 28 June 2014 19:08, Joel Bernstein joels...@gmail.com wrote:

  OK, I see the problem. When you use useFilterForSortedQuery true
  /useFilterForSortedQuery Solr builds a docSet in a way that seems to be
  incompatible with the CollapsingQParserPlugin. With
  useFilterForSortedQuery
  true /useFilterForSortedQuery, Solr doesn't run the main query again
 when
  collecting the DocSet. The getDocSetScore() method is expecting the main
  query to present, because the CollapsingQParserPlugin may need the scores
  generated from the main query, to select the group head.
 
  I think trying to make useFilterForSortedQuery true
  /useFilterForSortedQuery compatible with CollapsingQParsePlugin is
  probably not possible. So, a nice error message would be a good thing.
 
  Joel Bernstein
  Search Engineer at Heliosearch
 
 
  On Tue, Jun 24, 2014 at 3:31 AM, Umesh Prasad umesh.i...@gmail.com
  wrote:
 
   Hi ,
   Found another bug with CollapsignQParserPlugin. Not a critical one.
  
   It throws an exception when used with
  
   useFilterForSortedQuery true /useFilterForSortedQuery
  
   Patch attached (against 4.8.1 but reproducible in other branches also)
  
  
   518 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
  
 
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s%7DdefType=edismaxbf=field%28test_ti%29}
   hits=2 status=0 QTime=99
   4557 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
  
 
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s+nullPolicy%3Dexpand+min%3Dtest_tf%7DdefType=edismaxbf=field%28test_ti%29sort=}
   hits=4 status=0 QTime=15
   4587 T11 C0 oasc.SolrException.log ERROR
   java.lang.UnsupportedOperationException: Query  does not implement
   createWeight
   at org.apache.lucene.search.Query.createWeight(Query.java:80)
   at
  
 
 org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684)
   at
   org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297)
   at
  
 
 org.apache.solr.search.SolrIndexSearcher.getDocSetScore(SolrIndexSearcher.java:879)
   at
  
 
 org.apache.solr.search.SolrIndexSearcher.getDocSet(SolrIndexSearcher.java:902)
   at
  
 
 org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1381)
   at
  
 
 org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:478)
   at
  
 
 org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:461)
   at
  
 
 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
   at
  
 
 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
   at org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)
   at org.apache.solr.util.TestHarness.query(TestHarness.java:295)
   at org.apache.solr.util.TestHarness.query(TestHarness.java:278)
   at
  org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:676)
   at
  org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:669)
   at
  
 
 org.apache.solr.search.TestCollapseQParserPlugin.testCollapseQueries(TestCollapseQParserPlugin.java:106)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at
  
 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at
  
 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1618)
   at
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:827)
   at
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:863)
   at
  
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:877)
   at
  
 
 com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:53)
   at
  
 
 org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:50)
   at
  
 
 org.apache.lucene.util.TestRuleFieldCacheSanity$1.evaluate(TestRuleFieldCacheSanity.java:51)
   at
  
 
 

Re: CollapsingQParserPlugin throws Exception when useFilterForSortedQuery=true

2014-06-29 Thread Umesh Prasad
Hi Joel,
Thanks a lot for clarification ..  An error message would indeed be a
good thing ..   Should I open a jira item for same ?



On 28 June 2014 19:08, Joel Bernstein joels...@gmail.com wrote:

 OK, I see the problem. When you use useFilterForSortedQuery true
 /useFilterForSortedQuery Solr builds a docSet in a way that seems to be
 incompatible with the CollapsingQParserPlugin. With
 useFilterForSortedQuery
 true /useFilterForSortedQuery, Solr doesn't run the main query again when
 collecting the DocSet. The getDocSetScore() method is expecting the main
 query to present, because the CollapsingQParserPlugin may need the scores
 generated from the main query, to select the group head.

 I think trying to make useFilterForSortedQuery true
 /useFilterForSortedQuery compatible with CollapsingQParsePlugin is
 probably not possible. So, a nice error message would be a good thing.

 Joel Bernstein
 Search Engineer at Heliosearch


 On Tue, Jun 24, 2014 at 3:31 AM, Umesh Prasad umesh.i...@gmail.com
 wrote:

  Hi ,
  Found another bug with CollapsignQParserPlugin. Not a critical one.
 
  It throws an exception when used with
 
  useFilterForSortedQuery true /useFilterForSortedQuery
 
  Patch attached (against 4.8.1 but reproducible in other branches also)
 
 
  518 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
 
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s%7DdefType=edismaxbf=field%28test_ti%29}
  hits=2 status=0 QTime=99
  4557 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
 
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s+nullPolicy%3Dexpand+min%3Dtest_tf%7DdefType=edismaxbf=field%28test_ti%29sort=}
  hits=4 status=0 QTime=15
  4587 T11 C0 oasc.SolrException.log ERROR
  java.lang.UnsupportedOperationException: Query  does not implement
  createWeight
  at org.apache.lucene.search.Query.createWeight(Query.java:80)
  at
 
 org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684)
  at
  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297)
  at
 
 org.apache.solr.search.SolrIndexSearcher.getDocSetScore(SolrIndexSearcher.java:879)
  at
 
 org.apache.solr.search.SolrIndexSearcher.getDocSet(SolrIndexSearcher.java:902)
  at
 
 org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1381)
  at
 
 org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:478)
  at
 
 org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:461)
  at
 
 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
  at
 
 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
  at org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)
  at org.apache.solr.util.TestHarness.query(TestHarness.java:295)
  at org.apache.solr.util.TestHarness.query(TestHarness.java:278)
  at
 org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:676)
  at
 org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:669)
  at
 
 org.apache.solr.search.TestCollapseQParserPlugin.testCollapseQueries(TestCollapseQParserPlugin.java:106)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at
 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at
 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at
 
 com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1618)
  at
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:827)
  at
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:863)
  at
 
 com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:877)
  at
 
 com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:53)
  at
 
 org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:50)
  at
 
 org.apache.lucene.util.TestRuleFieldCacheSanity$1.evaluate(TestRuleFieldCacheSanity.java:51)
  at
 
 org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:46)
  at
 
 com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)
  at
 
 org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:49)
  at
 
 org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:65)
  at
 
 org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
  at
 
 

Re: CollapsingQParserPlugin throws Exception when useFilterForSortedQuery=true

2014-06-28 Thread Joel Bernstein
OK, I see the problem. When you use useFilterForSortedQuery true
/useFilterForSortedQuery Solr builds a docSet in a way that seems to be
incompatible with the CollapsingQParserPlugin. With useFilterForSortedQuery
true /useFilterForSortedQuery, Solr doesn't run the main query again when
collecting the DocSet. The getDocSetScore() method is expecting the main
query to present, because the CollapsingQParserPlugin may need the scores
generated from the main query, to select the group head.

I think trying to make useFilterForSortedQuery true
/useFilterForSortedQuery compatible with CollapsingQParsePlugin is
probably not possible. So, a nice error message would be a good thing.

Joel Bernstein
Search Engineer at Heliosearch


On Tue, Jun 24, 2014 at 3:31 AM, Umesh Prasad umesh.i...@gmail.com wrote:

 Hi ,
 Found another bug with CollapsignQParserPlugin. Not a critical one.

 It throws an exception when used with

 useFilterForSortedQuery true /useFilterForSortedQuery

 Patch attached (against 4.8.1 but reproducible in other branches also)


 518 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s%7DdefType=edismaxbf=field%28test_ti%29}
 hits=2 status=0 QTime=99
 4557 T11 C0 oasc.SolrCore.execute [collection1] webapp=null path=null
 params={q=*%3A*fq=%7B%21collapse+field%3Dgroup_s+nullPolicy%3Dexpand+min%3Dtest_tf%7DdefType=edismaxbf=field%28test_ti%29sort=}
 hits=4 status=0 QTime=15
 4587 T11 C0 oasc.SolrException.log ERROR
 java.lang.UnsupportedOperationException: Query  does not implement
 createWeight
 at org.apache.lucene.search.Query.createWeight(Query.java:80)
 at
 org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684)
 at
 org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297)
 at
 org.apache.solr.search.SolrIndexSearcher.getDocSetScore(SolrIndexSearcher.java:879)
 at
 org.apache.solr.search.SolrIndexSearcher.getDocSet(SolrIndexSearcher.java:902)
 at
 org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1381)
 at
 org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:478)
 at
 org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:461)
 at
 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
 at
 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
 at org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)
 at org.apache.solr.util.TestHarness.query(TestHarness.java:295)
 at org.apache.solr.util.TestHarness.query(TestHarness.java:278)
 at org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:676)
 at org.apache.solr.SolrTestCaseJ4.assertQ(SolrTestCaseJ4.java:669)
 at
 org.apache.solr.search.TestCollapseQParserPlugin.testCollapseQueries(TestCollapseQParserPlugin.java:106)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at
 com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1618)
 at
 com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:827)
 at
 com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:863)
 at
 com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:877)
 at
 com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:53)
 at
 org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:50)
 at
 org.apache.lucene.util.TestRuleFieldCacheSanity$1.evaluate(TestRuleFieldCacheSanity.java:51)
 at
 org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:46)
 at
 com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)
 at
 org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:49)
 at
 org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:65)
 at
 org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
 at
 com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 at
 com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:360)
 at
 com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:793)
 at