We are currently trying to do the same thing. With the patch unaltered we can use fq as long as collapsing is turned on. If we just send a normal document level query with an fq parameter it blows up.
Additionally, it does not appear that the collapse.facet option works at all. -- Jeff Newburn Software Engineer, Zappos.com jnewb...@zappos.com - 702-943-7562 > From: climbingrose <climbingr...@gmail.com> > Reply-To: <solr-user@lucene.apache.org> > Date: Fri, 17 Apr 2009 16:53:00 +1000 > To: solr-user <solr-user@lucene.apache.org> > Subject: CollapseFilter with the latest Solr in trunk > > Hi all, > > Have any one try to use CollapseFilter with the latest version of Solr in > trunk? However, it looks like Solr 1.4 doesn't allow calling setFilterList() > and setFilter() on one instance of the QueryCommand. I modified the code in > QueryCommand to allow this: > > public QueryCommand setFilterList(Query f) { > // if( filter != null ) { > // throw new IllegalArgumentException( "Either filter or filterList > may be set in the QueryCommand, but not both." ); > // } > filterList = null; > if (f != null) { > filterList = new ArrayList<Query>(2); > filterList.add(f); > } > return this; > } > > However, I still have a problem which prevent query filters from working > when used in conjunction with CollapseFilter. In other words, query filters > doesn't seem to have any effects on the result set when CollapseFilter is > used. > > The other problem is related to OpenBitSet: > > java.lang.ArrayIndexOutOfBoundsException: 2183 > at org.apache.lucene.util.OpenBitSet.fastSet(OpenBitSet.java:242) > at org.apache.solr.search.CollapseFilter.addDoc(CollapseFilter.java:202) > > at > org.apache.solr.search.CollapseFilter.adjacentCollapse(CollapseFilter.java:161> ) > at org.apache.solr.search.CollapseFilter.<init>(CollapseFilter.java:141) > > at > org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:2 > 17) > at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandle > r.java:195) > at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.ja > va:131) > > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1333) > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303> ) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:23 > 2) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java > :213) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java > :178) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:1 > 07) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processCon > nection(Http11BaseProtocol.java:664) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java: > 527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWork > erThread.java:80) > > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java: > 684) > > > at java.lang.Thread.run(Thread.java:619) > > I think CollapseFilter is rather an important function in Solr that gets > used quite frequently. Does anyone have a solution for this? > > -- > Regards, > > Cuong Hoang