Hi Pragya,

Use below query:

cts:search(/books/chapters/chapter,  cts:element-query(xs:QName("title1"),
                                                 'fuji'))

Regards,
Asit Nautiyal

From: [email protected] 
[mailto:[email protected]] On Behalf Of harsh setia
Sent: Tuesday, August 27, 2013 12:58 PM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] Query on cts:search


Try using cts:element-value query under cts:search.
On Aug 27, 2013 8:19 AM, "Pragya Kapoor" 
<[email protected]<mailto:[email protected]>> wrote:
Hi,

Structure of the document :
<books>
                <chapters>
                                
<chapter><title1>fuji</title1><title2></title2></data></chapter>
                                
<chapter><title1>icecream</title1><title2></title2></data></chapter>
<chapter><title1>fuji cream</title1><title2></title2></data></chapter>
                </chapters>
</books>

I am doing a cts:search on chapter element like
cts:search(/books/chapters/chapter,  cts:element-word-query(xs:QName("title"),
                                                 
'fuji',"case-insensitive"),'unfiltered')

I get all the chapter element result as :
<chapter><title1>fuji</title1><title2></title2></data></chapter>
<chapter><title1>icecream</title1><title2></title2></data></chapter>
<chapter><title1>fuji cream</title1><title2></title2></data></chapter>

As it matches the chapter element and return all the chapter elements from same 
doc.

I only want to restrict my results to
<chapter><title1>fuji</title1><title2></title2></data></chapter>
<chapter><title1>fuji cream</title1><title2></title2></data></chapter>

For that I tried doing :

for $searchResult in cts:search(/books/chapters/chapter,  
cts:element-word-query(xs:QName("title"),
                                                 
'fuji',"case-insensitive"),'unfiltered')
                                                                                
      return

                                                                                
                                if (fn:contains($searchResult//title1//text(), 
'fuji') eq fn:true())then $searchResult else ()
This is hitting performance.

Please let me know, what can I achieve this without impacting performance

Thanks
Pragya


**************** CAUTION - Disclaimer *****************

This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely

for the use of the addressee(s). If you are not the intended recipient, please

notify the sender by e-mail and delete the original message. Further, you are 
not

to copy, disclose, or distribute this e-mail or its contents to any other 
person and

any such actions are unlawful. This e-mail may contain viruses. Infosys has 
taken

every reasonable precaution to minimize this risk, but is not liable for any 
damage

you may sustain as a result of any virus in this e-mail. You should carry out 
your

own virus checks before opening the e-mail or attachment. Infosys reserves the

right to monitor and review the content of all messages sent to or from this 
e-mail

address. Messages sent to or from this e-mail address may be stored on the

Infosys e-mail system.

***INFOSYS******** End of Disclaimer ********INFOSYS***


_______________________________________________
General mailing list
[email protected]<mailto:[email protected]>
http://developer.marklogic.com/mailman/listinfo/general
This e-mail and any files transmitted with it are for the sole use of the 
intended recipient(s) and may contain confidential and privileged information. 
If you are not the intended recipient(s), please reply to the sender and 
destroy all copies of the original message. Any unauthorized review, use, 
disclosure, dissemination, forwarding, printing or copying of this email, 
and/or any action taken in reliance on the contents of this e-mail is strictly 
prohibited and may be unlawful.
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to