Hi, Thanks for the insight Uwe. I could get it up and running thanks to you. But the query seems to be expensive in terms of time. Please have a look at the gist https://gist.github.com/rmuhzin/6991544
Is there anyway that I can fine tune the filter? Another problem is that it seems cache the filtered result so that the result set is same after I execute the query. Please point me in the right direction. On Thu, Oct 17, 2013 at 12:00 PM, Uwe Schindler <u...@thetaphi.de> wrote: > Hi,**** > > ** ** > > I think the main issue is this sentence in Erik’s blog post:**** > > **· **This implementation can only be used as a filter query (fq) > parameter, not a q parameter.**** > > ** ** > > So you can only use the postfilter in a fq= parameter, not – as you do – > in q=. If you use it in fq it seems that Solr does not execute the query > part. Your filter might be executed after you change your query URL, but > its still has the problem that it incorrectly assumes the doc id given in > the collect method is global and can be used with indexSearcher. The > collector works per index segment, so you have to lookup the doc id using > the AtomicReaderContext given in setNextReader() [e.g. > context.reader().document(docid).get(…)]. See also Eriks code, where he > uses the FieldCache, also per segment.**** > > ** ** > > Uwe**** > > ** ** > > -----**** > > Uwe Schindler**** > > H.-H.-Meier-Allee 63, D-28213 Bremen**** > > http://www.thetaphi.de**** > > eMail: u...@thetaphi.de**** > > ** ** > > *From:* Muhzin [mailto:rmuh...@gmail.com] > *Sent:* Thursday, October 17, 2013 7:21 AM > *To:* dev@lucene.apache.org > *Subject:* Re: solr Post Filter**** > > ** ** > > Hi Uwe, **** > > Thank you very much for the insight . I was following the article by Erik > Hatcher**** > > http://searchhub.org/2012/02/22/custom-security-filtering-in-solr/ **** > > ** ** > > and this presentation **** > > > http://www.lucenerevolution.org/sites/default/files/Using%20LuceneSolr%20to%20Build%20Advertising%20Systems.pdf > **** > > ** ** > > ** ** > > Is there some other way implement the post filter. Can you please point me > in a good direction.**** > > ** ** > > On Tue, Oct 15, 2013 at 7:58 PM, Uwe Schindler <u...@thetaphi.de> wrote:*** > * > > Hi,**** > > **** > > ExtendedQueryBase extends the abstract Lucene query class, but you don’t > implement any query-specific method. So Solr does not know which query you > want to execute? The postfilter alone is no valid query.**** > > **** > > Also there may be some bugs in your code:**** > > - Where does indexSearcher come from?**** > > - The collect method uses the atomic docid to query the > top-level indexsearcher. It should either use the atomicReaderContext and > request the document from there or it should use docBase to transform the > docid to be global**** > > But this code is not yet executed, I just wanted to mention this.**** > > **** > > Uwe**** > > **** > > -----**** > > Uwe Schindler**** > > H.-H.-Meier-Allee 63, D-28213 Bremen**** > > http://www.thetaphi.de**** > > eMail: u...@thetaphi.de**** > > **** > > *From:* Muhzin [mailto:rmuh...@gmail.com] > *Sent:* Tuesday, October 15, 2013 4:11 PM > *To:* dev@lucene.apache.org > *Subject:* solr Post Filter**** > > **** > > Hi, I am developing a post filter implementation in solr 4.2.1 . the > following is a gist to my implementation.**** > > **** > > https://gist.github.com/rmuhzin/6991544**** > > **** > > I deployed my plugin in the library folder and updated the solrconfig.xml* > *** > > **** > > <queryParser name="lastLoginParser" class="com.m4marry.PostQParserPlugin" > />**** > > **** > > But when I apply the plugin using **** > > **** > > > http:/localhost/solr/profiles/select?q={!lastLoginParser}*%3A*&wt=xml&indent=true > **** > > **** > > I get the following error **** > > **** > > java.lang.UnsupportedOperationException: Query {!cache=false cost=100} > does not implement createWeight**** > > at org.apache.lucene.search.Query.createWeight(Query.java:80)**** > > at **** > > **** > > Full stack trace at : https://gist.github.com/rmuhzin/6992029**** > > **** > > **** > > Could someone please shed some light into it ?**** > > ** ** > -- BR Muhsin