Hi Andy, as we haven't managed so far to formalize scoring propagation for all XQuery expressions, and as we thought that XQuery itself can also be used to combine score values, we have recently decided to reduce our scoring to the most essential operation (namely, "contains text").
One solution to get this working again is: let $data:= ( <r><a>red apple</a></r>, <r><a>blue lagoon</a></r>, <r><b>fish and chips</b></r> ) for $hit in $data let score $a := $hit/a contains text "red" let score $b := $hit/b contains text "fish" let $score := ($a + $b) div 2 where $score return $hit The advantage is that you can decide by yourself how you want to combine scores. The drawback, obviously, is that your code gets more complex. Best, Christian On Thu, Apr 10, 2014 at 6:27 PM, Andy Bunce <bunce.a...@gmail.com> wrote: > Hi, > > I want to score searches with multiple conditions e.g. > > let $data:=( > <r><a>red apple</a></r>, > <r><a>blue lagoon</a></r>, > <r><b>fish and chips</b></r>) > > for $hit score $s in $data[ > a contains text("red") > or b contains text("fish")] > > return $s > > In 7.8.2 it always returns scores of zero. > In version 7.6 it returns numbers like 0.6201145069582775 0.4528324252639413 > > Is this bug? > Regards > /Andy