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
>>
>
>
>
> --
> 梅旺生
>



-- 
梅旺生

Reply via email to