You can consider moving to MarkLogic 7.  Also, you can add other non-range 
queries to your cts:query, if that is possible.  And quality is also an option, 
either at load time or as an update later.

-Danny

From: general-boun...@developer.marklogic.com 
[mailto:general-boun...@developer.marklogic.com] On Behalf Of Mrinmoy Khamrui
Sent: Wednesday, September 17, 2014 10:53 AM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] using cts:boost-query with search:resolve 
in Marklogic 7

Then is it that only option left is to set document quality at the time of 
loading?

Thanks
Mrinmoy

On Wed, Sep 17, 2014 at 10:05 PM, Danny Sokolsky 
<danny.sokol...@marklogic.com<mailto:danny.sokol...@marklogic.com>> wrote:
Range queries do not contribute to score in MarkLogic 6.  They do in MarkLogic 
7.  So if you are using MarkLogic 6 that explains the 0 scores.

-Danny

From: 
general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>
 
[mailto:general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>]
 On Behalf Of Mrinmoy Khamrui
Sent: Wednesday, September 17, 2014 7:03 AM

To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] using cts:boost-query with search:resolve 
in Marklogic 7

Hi Erik,

I got a chance to try out this. I am using below query as my boost query but it 
seems we would still require feature similar to score-function. Otherwise the 
score for all the matching elements are coming as 0.

boost query
==========================================
cts:element-range-query(
xs:QName("pubdate"), "<=", current-dateTime())

Am I missing anything?

Thanks
Mrinmoy

On Thu, Sep 11, 2014 at 8:15 PM, Erik Hennum 
<erik.hen...@marklogic.com<mailto:erik.hen...@marklogic.com>> wrote:
Hi, Mrinmoy:

On MarkLogic 6, you should be able come close to a boost query with

<search:query xmlns:search="http://marklogic.com/appservices/search";>

  <search:and-query>

    YOUR_MATCHING_QUERY_HERE

    <search:or-query>

      YOUR_BOOSTING_QUERY_HERE

      <search:and-query/>

    </search:or-query>

  </search:and-query>

</search:query>
or the cts:query equivalent

cts:and-query((

  YOUR_MATCHING_QUERY_HERE,

  cts:or-query((

    YOUR_BOOSTING_QUERY_HERE,

    cts:and-query(())

    ))

  ))
Within the or query, the and query matches everything, so the boosting query 
should only affect ranking and not matching.


Hoping that helps,

Erik Hennum
________________________________
From: 
general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>
 
[general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>]
 on behalf of Mrinmoy Khamrui 
[mrinmoy.kham...@ideacrestsolutions.com<mailto:mrinmoy.kham...@ideacrestsolutions.com>]
Sent: Monday, September 08, 2014 11:17 PM

To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] using cts:boost-query with search:resolve 
in Marklogic 7

Hi Erik,

Is there a way to implement cts:boost-query in marklogic 6 apart from using 
document quality? We need to have similar feature on marklogic 6. Please 
suggest.

Thanks
Mrinmoy

On Fri, Sep 5, 2014 at 10:25 PM, Mrinmoy Khamrui 
<mrinmoy.kham...@ideacrestsolutions.com<mailto:mrinmoy.kham...@ideacrestsolutions.com>>
 wrote:
Hi Erik,

Thanks for pointing that. It worked.

-- Mrinmoy

On Fri, Sep 5, 2014 at 8:38 PM, Erik Hennum 
<erik.hen...@marklogic.com<mailto:erik.hen...@marklogic.com>> wrote:
Hi, Mrinmoy:

The search:resolve() function expects the serialized version of the cts:query.  
Try:

    let $results := search:resolve(<q>{$query}</q>/*, $options, $start, 
$pageRecs)

See:

    http://docs.marklogic.com/search:resolve


Hoping that helps,


Erik Hennum
________________________________
From: 
general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>
 
[general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>]
 on behalf of Mrinmoy Khamrui 
[mrinmoy.kham...@ideacrestsolutions.com<mailto:mrinmoy.kham...@ideacrestsolutions.com>]
Sent: Friday, September 05, 2014 7:38 AM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] using cts:boost-query with search:resolve 
in Marklogic 7
Hi Erik,

Many thanks. Please find below the error. I can execute the same query with 
cts:search but search:resolve complains



[1.0-ml] XDMP-AS: (err:XPTY0004) $ctsquery as element() -- Invalid coercion: 
cts:boost-query(cts:path-range-query("/products/product/productcategoryassociations/catalog[@code
 = &q...", "=", xs:int("10001"), (), 1), 
cts:path-range-query("/products/product/edition", ">", 0, 
("score-function=linear","slope-factor=10"), 1)) as element()
Stack Trace
In /MarkLogic/appservices/search/search.xqy on line 64
In xdmp:eval("xquery version &quot;1.0-ml&quot;;&#10;&#10;import module 
namesp...", (), <options 
xmlns="xdmp:eval"><database>13679529190427072881</database><isolation>different-tr...</options>)
In /MarkLogic/appservices/qconsole/qconsole-amped.xqy on line 202
In amped-qconsole:qconsole-eval("xquery version 
&quot;1.0-ml&quot;;&#10;&#10;import module namesp...", (), <options 
xmlns="xdmp:eval"><database>13679529190427072881</database><isolation>different-tr...</options>)

$xquery := "xquery version &quot;1.0-ml&quot;;&#10;&#10;import module namesp..."
$vars := ()
$options := <options 
xmlns="xdmp:eval"><database>13679529190427072881</database><isolation>different-tr...</options>

On Fri, Sep 5, 2014 at 7:53 PM, Erik Hennum 
<erik.hen...@marklogic.com<mailto:erik.hen...@marklogic.com>> wrote:
Hi, Mrinmoy:

Can you provide the invalid coercion error?  Including the expression, module,
and line number identified by the error (and the specific MarkLogic version)?


Thanks,


Erik Hennum
________________________________
From: 
general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>
 
[general-boun...@developer.marklogic.com<mailto:general-boun...@developer.marklogic.com>]
 on behalf of Mrinmoy Khamrui 
[mrinmoy.kham...@ideacrestsolutions.com<mailto:mrinmoy.kham...@ideacrestsolutions.com>]
Sent: Friday, September 05, 2014 6:59 AM
To: general@developer.marklogic.com<mailto:general@developer.marklogic.com>
Subject: [MarkLogic Dev General] using cts:boost-query with search:resolve in 
Marklogic 7
Hi Folks,

I am trying to use cts:boost-query with search:resolve and getting invalid 
coercion. Below is my code snippet.

let $query := search:parse($search-term,$options)
let $query := cts:boost-query(cts:query($query), cts:path-range-query("somepath 
with path index", ">", 0,
  ("score-function=linear","slope-factor=10")))

let $results := search:resolve($query, $options, $start, $pageRecs)

Any suggestion is highly appreciated.

Thanks
Mrinmoy

_______________________________________________
General mailing list
General@developer.marklogic.com<mailto:General@developer.marklogic.com>
http://developer.marklogic.com/mailman/listinfo/general


_______________________________________________
General mailing list
General@developer.marklogic.com<mailto:General@developer.marklogic.com>
http://developer.marklogic.com/mailman/listinfo/general



_______________________________________________
General mailing list
General@developer.marklogic.com<mailto:General@developer.marklogic.com>
http://developer.marklogic.com/mailman/listinfo/general


_______________________________________________
General mailing list
General@developer.marklogic.com<mailto:General@developer.marklogic.com>
http://developer.marklogic.com/mailman/listinfo/general

_______________________________________________
General mailing list
General@developer.marklogic.com
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to