Hi Jason Hunter, Putting (cts:search(/x, $q1), cts:search(/y, $q2))[1 to 10] results into a list,in this case duplicate results will come.suppose if a keyword "xyz" found in x element and y element both and x and y elements are the part of same document.so two results will be displayed but actually one result should come.
Basically,I have to write a code that satisfy below scenarios: if keyword found in: 1) only x element--give priority 1 2) if x and y ---give priority 2 3) if max matches found in y --give priority--3 4) else 4 Thanks & Regards, Inji ________________________________ From: "[email protected]" <[email protected]> To: [email protected] Sent: Mon, 27 June, 2011 4:05:38 AM Subject: General Digest, Vol 84, Issue 91 Send General mailing list submissions to [email protected] To subscribe or unsubscribe via the World Wide Web, visit http://developer.marklogic.com/mailman/listinfo/general or, via email, send a message with subject or body 'help' to [email protected] You can reach the person managing the list at [email protected] When replying, please edit your Subject line so it is more specific than "Re: Contents of General digest..." Today's Topics: 1. Re: Displaying results as per priority (assigning weightage to search results) (Jason Hunter) ---------------------------------------------------------------------- Message: 1 Date: Sun, 26 Jun 2011 15:33:33 -0700 From: Jason Hunter <[email protected]> Subject: Re: [MarkLogic Dev General] Displaying results as per priority (assigning weightage to search results) To: General MarkLogic Developer Discussion <[email protected]> Message-ID: <[email protected]> Content-Type: text/plain; charset="windows-1252" When you want one query to always prioritize over another, put them in a list. (cts:search(/x, $q1), cts:search(/y, $q2))[1 to 10] The server's lazy so it only does the second search if it doesn't get 10 from the first. -jh- On Jun 25, 2011, at 12:46 PM, indar verma wrote: > Hi All, > > I have to implement below logic: > it says: > a. First Look in document name and give Priority 1 - regardless > b. Then Look in metadata > c. Third Look in full text > i. If it occurs in metadata only (Priority 2) > ii. If it occurs in metadata and full text (Priority 3) > iii. If it occurs in full text only (Priority 4 ? ranked by most >occurrences > My XML structure is like that: > book1.xml > <book> > <meta> > <field field-name=?document?>my doc</field> > <field field-name=?title?>This is a my doc<field> > ???.. > </meta> > <heading>Another1 abc</heading> > <para> > <text>This is part 2 of first document...</text> > </para> > </book> > book2.xml > <book> > <meta> > <field field-name=?document?>my document</field> > <field field-name=?title?>This is a my document<field> > ???.. > </meta> > <heading>Another document</heading> > <para> > <text>This is part 2 of first document...</text> > </para> > </book> > book3.xml > <book> > <meta> > <field field-name=?document?>my doc</field> > <field field-name=?title?>This is a my doc<field> > ???.. > </meta> > <heading>Another3 abc</heading> > <para> > <text>This is part 2 of first document...</text> > </para> > <para> > <text>This is part 3 of first document...</text> > </para> > </book> > as per my understanding of xQuery,we need to build query for metadata and >text.so I built following xquery. > declare function local:build-query($text as xs:string) { > cts:or-query(( > cts:word-query($text, (), 1), > cts:element-word-query( > xs:QName("field"), $text, (), 2 ))) > }; > let $query := local:build-query("document") > for $i in cts:search(/book, $query,("unfiltered","score-simple")) > return $i/heading > > Please some one help me to optimize this code or if my approach is wrong then >suggest me the logic/code. > > Thanking in advance, > inji > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general -------------- next part -------------- An HTML attachment was scrubbed... URL: http://developer.marklogic.com/pipermail/general/attachments/20110626/864791c6/attachment.html ------------------------------ _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general End of General Digest, Vol 84, Issue 91 ***************************************
_______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
