Does anyone have an idea about this issue? It seems like a bug to me. Thanks
Chris Rimmer 67 Bricks On 30 October 2015 at 10:51, Chris Rimmer <[email protected]> wrote: > Hi, > > We are running MarkLogic 8.0-3 and using the "additional query" technique > to influence the ordering of search results (as discussed here > http://markmail.org/message/cmxhjxd77clicsbz). While this is mostly > working, we have found that when the "boosting queries" are specified with > weights less than 0.5, they have no influence on the score at all. The > relevant documentation ( > https://docs.marklogic.com/guide/search-dev/relevance#id_22791) says "To > lower the score contribution, set the weight between 0 and 1.0". There is > no suggestion that any value less than 0.5 is effectively zero. > > As as an example, given an empty database with an element range index set > up on the element "name" as follows: > > import module namespace admin = "http://marklogic.com/xdmp/admin" at > "/MarkLogic/admin.xqy"; > > let $dbid := xdmp:database("Documents") > let $config := admin:get-configuration() > let $rangespec := admin:database-range-element-index("string", "", > "name", "http://marklogic.com/collation/", fn:false() ) > let $new-config := admin:database-add-range-element-index($config, > $dbid, $rangespec) > return admin:save-configuration($new-config) > > Running the following with the weight set to 0.5 will show that the "Bob" > document is indeed scored higher than the others, while when this is set to > 0.49, all the documents come out with the same weight: > > import module namespace search = " > http://marklogic.com/appservices/search" at > "/MarkLogic/appservices/search/search.xqy"; > > let $weight := 0.5 > > let $_ := xdmp:document-insert("/alf", > <person><name>Alf</name><role>Blah</role></person>) > let $_ := xdmp:document-insert("/bob", > <person><name>Bob</name><role>Blah</role></person>) > let $_ := xdmp:document-insert("/cal", > <person><name>Cal</name><role>Blah</role></person>) > > let $or-query := cts:or-query(( > cts:and-query(()), > cts:element-range-query(xs:QName("name"), "=", "Bob", > ("score-function=linear"), $weight) > )) > > let $options := <options xmlns="http://marklogic.com/appservices/search > "> > <additional-query>{$or-query}</additional-query> > </options> > > let $search := search:search("Blah", $options) > > return for $result in $search//search:result > return $result/@uri || ": " || $result/@score > > Any ideas about what is happening would be appreciated, > > Thanks > > Chris Rimmer > > 67 Bricks >
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
