Danny,

As far as I know, there isn't an out of the box option that allows you to do 
this, but most of the cts:query functions take weight as a parameter. You could 
use search:parse() to generate cts:query XML, and then rebuild the query using 
your own logic to assign new weights, and pass that output to search:resolve().

However, if you are just trying to return the most relevant documents first, I 
would leave the query alone and rely on MarkLogic's TF-IDF ranking, as Mike has 
recommended.

-Will


From: [email protected] 
[mailto:[email protected]] On Behalf Of Danny Sinang
Sent: Monday, March 12, 2012 5:21 PM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] search:search() - show phrase results first

Hi Will,

Thanks. How can I adjust the query weights for the phrase search ? Is there a 
ready made function / option for this ?

Danny

On Mar 12, 2012, at 6:35 PM, Will Thompson 
<[email protected]<mailto:[email protected]>> wrote:
Danny,

To be certain, you would need to do two searches and display the results one 
after the other - depending on how your paging is set up, you could see how 
many results remain in the phrase search before you execute the second search.

Alternately, you might be able to get similar results by OR-ing the two queries 
together and adjusting the query weights such that a phrase will always 
outscore any other word combinations.

-Will


From: 
[email protected]<mailto:[email protected]>
 
[mailto:[email protected]<mailto:[email protected]>]
 On Behalf Of Danny Sinang
Sent: Monday, March 12, 2012 2:26 PM
To: general
Subject: [MarkLogic Dev General] search:search() - show phrase results first

Hi,

Am looking to implement a business rule that says "Phrase results must be 
displayed before partials".

So if, using search:search(), I looked for the phrase "medical research", all 
results having that exact phrase should be shown first, followed by results for 
"medical" and "research".

A previous contractor managed to implement the generation of the phrase results 
+ partials.  But the problem is, some of the results for "medical" and 
"research" are displayed first because of their higher scores.

How do I tell MarkLogic to give phrase results a higher score instead ?

Regards,
Danny







_______________________________________________
General mailing list
[email protected]<mailto:[email protected]>
http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to