Although infinite recursion is disappeared, there is another problem. q=ipod&bq={!dismax qf=userId^0.5 v=$qq bq=}&qq=12345&qt=dismax&debugQuery=on
I try to debug the above query, it turned out to be as: +DisjunctionMaxQuery((content:ipod | title:ipod^4.0)~0.01) () +DisjunctionMaxQuery((userId:12345^0.5)~0.01) see, the second(embeded) DisMax is marked as *Mandatory*, thus the purpose of boosting the main query cannot be achieved. Apparently, this is not it's expected to be. Any ideas? 2010/1/29 Wangsheng Mei <hairr...@gmail.com> > nice trick, Yonik.[?] > > 2010/1/29 Yonik Seeley <yo...@lucidimagination.com> > > 2010/1/28 Wangsheng Mei <hairr...@gmail.com>: >> > q=ipod&bq={!dismax qf=userId^0.5 v=$qq}&qq=12345&qt=dismax >> > >> > I've tried your suggested query above, unfortunately, it does not work >> out. >> > I glanced a bit on the error message, the "Infinite Recursion" error >> seems >> > that dismax query parser are adding bq multiple times. >> >> That is a problem... if bq is a dismax, and part of dismax is the bq >> param, you do get infinite recursion. >> >> One way around it is to define any args that could cause infinite >> recursion in the embedded dismax query (namely the bq param). >> So try >> q=ipod&bq={!dismax qf=userId^0.5 v=$qq bq=}&qq=12345&qt=dismax >> >> Note: I just added an empty bq param to the nested dismax query. >> >> -Yonik >> http://www.lucidimagination.com >> > > > > -- > 梅旺生 > -- 梅旺生