Ok, just reviewed the code. The ReRankingQParserPlugin always tracks the scores from the main query. So this explains things. Speaking of explaining things, the ReRankingParserPlugin also works with Lucene's explain. So if you use debugQuery=true we should see that the score from the initial query was combined with the score from the reRankQuery, which should be 1.
You have stumbled on a interesting usage pattern which I never considered. But basically what's happening is: 1) Main query is sorted by score. 2) Reranker is reRanking docs based on the score from the main query. No, worries Erick, you've taught me a lot over the past couple of years! Joel Bernstein Search Engineer at Heliosearch On Sun, Sep 7, 2014 at 11:37 AM, Erick Erickson <erickerick...@gmail.com> wrote: > Joel: > > I find that whenever I say something totally wrong publicly, I > remember the correction really really well... > > Thanks for straightening that out! > Erick > > On Sat, Sep 6, 2014 at 12:58 PM, Joel Bernstein <joels...@gmail.com> > wrote: > > This folllowing query: > > > > http://localhost:8080/solr/select?q=malaysian airline crash&rq={!rerank > > reRankQuery=$rqq reRankDocs=1000}&rqq=*:*&sort=publish_date > > desc&fl=headline,publish_date,score > > > > Is doing the following: > > > > The main query is sorted by publish_date. Then the results are reranked > by > > *:*, which in theory would have no effect at all. > > > > The reRankQuery only uses the reRankQuery to re-rank the results. The > sort > > param will always apply to the main query. > > > > > > > > > > > > > > > > > > > > > > > > > > Joel Bernstein > > Search Engineer at Heliosearch > > > > > > On Sat, Sep 6, 2014 at 2:33 PM, Ravi Solr <ravis...@gmail.com> wrote: > > > >> Erick, > >> Your idea about reversing Joel's suggestion seems to give the > best > >> results of all the options I tried...but I cant seem to understand why. > I > >> thought the query shown below should give irrelevant results as sorting > by > >> date would throw relevancy off...but somehow its getting relevant > results > >> with fair enough reverse chronology. It is as if the sort is applied > after > >> the docs are collected and reranked (which is what I wanted). One more > >> thing that baffled me was, if I change reRankDocs from 1000 to100 the > >> results become irrelevant, which doesnt make sense. > >> > >> So can you kindly explain whats going on in the following query. > >> > >> http://localhost:8080/solr/select?q=malaysian airline crash&rq={!rerank > >> reRankQuery=$rqq reRankDocs=1000}&rqq=*:*&sort=publish_date > >> desc&fl=headline,publish_date,score > >> > >> I love the solr community, so much to learn from so many knowledgeable > >> people. > >> > >> Thanks > >> > >> Ravi Kiran Bhaskar > >> > >> > >> > >> On Fri, Sep 5, 2014 at 1:23 PM, Erick Erickson <erickerick...@gmail.com > > > >> wrote: > >> > >> > OK, why can't you switch the clauses from Joel's suggestion? > >> > > >> > Something like: > >> > q=Malaysia plane crash&rq={!rerank reRankDocs=1000 > >> > reRankQuery=$myquery}&myquery=*:*&sort=date+desc > >> > > >> > (haven't tried this yet, but you get the idea....). > >> > > >> > Best, > >> > Erick > >> > > >> > On Fri, Sep 5, 2014 at 9:33 AM, Markus Jelsma > >> > <markus.jel...@openindex.io> wrote: > >> > > Hi - You can already achieve this by boosting on the document's > >> recency. > >> > The result set won't be exactly ordered by date but you will get the > most > >> > relevant and recent documents on top. > >> > > > >> > > Markus > >> > > > >> > > -----Original message----- > >> > >> From:Ravi Solr <ravis...@gmail.com <mailto:ravis...@gmail.com> > > >> > >> Sent: Friday 5th September 2014 18:06 > >> > >> To: solr-user@lucene.apache.org <mailto: > solr-user@lucene.apache.org> > >> > >> Subject: Re: Query ReRanking question > >> > >> > >> > >> Thank you very much for responding. I want to do exactly the > opposite > >> of > >> > >> what you said. I want to sort the relevant docs in reverse > chronology. > >> > If > >> > >> you sort by date before hand then the relevancy is lost. So I want > to > >> > get > >> > >> Top N relevant results and then rerank those Top N to achieve > relevant > >> > >> reverse chronological results. > >> > >> > >> > >> If you ask Why would I want to do that ?? > >> > >> > >> > >> Lets take a example about Malaysian airline crash. several articles > >> > might > >> > >> have been published over a period of time. When I search for - > >> malaysia > >> > >> airline crash blackbox - I would want to see "relevant" results but > >> > would > >> > >> also like to see the the recent developments on the top i.e. > >> > effectively a > >> > >> reverse chronological order within the relevant results, like > telling > >> a > >> > >> story over a period of time > >> > >> > >> > >> Hope i am clear. Thanks for your help. > >> > >> > >> > >> Thanks > >> > >> > >> > >> Ravi Kiran Bhaskar > >> > >> > >> > >> > >> > >> On Thu, Sep 4, 2014 at 5:08 PM, Joel Bernstein <joels...@gmail.com > >> > <mailto:joels...@gmail.com> > wrote: > >> > >> > >> > >> > If you want the main query to be sorted by date then the top N > docs > >> > >> > reranked by a query, that should work. Try something like this: > >> > >> > > >> > >> > q=foo&sort=date+desc&rq={!rerank reRandDocs=1000 > >> > >> > reRankQuery=$myquery}&myquery=blah > >> > >> > > >> > >> > > >> > >> > Joel Bernstein > >> > >> > Search Engineer at Heliosearch > >> > >> > > >> > >> > > >> > >> > On Thu, Sep 4, 2014 at 4:25 PM, Ravi Solr <ravis...@gmail.com > >> > <mailto:ravis...@gmail.com> > wrote: > >> > >> > > >> > >> > > Can the ReRanking API be used to sort within docs retrieved by > a > >> > date > >> > >> > field > >> > >> > > ? Can somebody help me understand how to write such a query ? > >> > >> > > > >> > >> > > Thanks > >> > >> > > > >> > >> > > Ravi Kiran Bhaskar > >> > >> > > > >> > >> > > >> > >> > >> > > > >> > > >> >