Hi Danny,
Thanks for your insight with this problem. I would have never guessed that answer but you explanation make perfect sense. gary From: [email protected] [mailto:[email protected]] On Behalf Of Danny Sokolsky Sent: Friday, June 24, 2011 2:26 PM To: General MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] wildcarding in constraining query Hi Gary, I think for cts:element-value-query, you can do a starts-with by taking the string the user gives and appending "* *" to it. This is because, for values, * by itself matches can span tokens. For example, this query returns true: let $x := <foo><a>this is a value</a></foo> return cts:contains($x, cts:element-value-query(xs:QName("a"), "t* *", "wildcarded") ) I'd have to scratch my head a little for a contains with element-value-query, but I think you can do something similar and it could work. Something like this for "is a v": let $x := <foo><a>this is a value</a></foo> return cts:contains($x, cts:element-value-query(xs:QName("a"), "* *is a v* *", "wildcarded") ) So in this case, you prepend and append a "* *" to the string the user supplies. I am not positive I have thought this one through though, although it seems to work in the simple case. -Danny From: [email protected] [mailto:[email protected]] On Behalf Of Gary Larsen Sent: Friday, June 24, 2011 11:18 AM To: 'General MarkLogic Developer Discussion' Subject: Re: [MarkLogic Dev General] wildcarding in constraining query Hi Gajanan, Thanks for the suggestions. cts:field-word-query() is producing accurate results as a 'contains' query, using a '*value*' matcher. Having a 'starts-with' query would be a nice to have feature in my application but not critical. gary From: [email protected] [mailto:[email protected]] On Behalf Of Gajanan Chinchwadkar Sent: Friday, June 24, 2011 1:19 PM To: General MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] wildcarding in constraining query Have you looked at cts:word-query with phrase-through/phrase-around? If you want to look at particular elements, you can also define a field on these elements and cts:use field-word-query. Thanks, Gajanan From: [email protected] [mailto:[email protected]] On Behalf Of Gary Larsen Sent: Friday, June 24, 2011 9:36 AM To: 'General MarkLogic Developer Discussion' Subject: [MarkLogic Dev General] wildcarding in constraining query I'm attempting to create both 'starts-with' and 'contains' queries (for a constraining query) on element values which needs to work across word boundaries. cts:element-value-query() does not wildcard across word boundaries and cts:element-word query() only matches on single words. cts:element-value-match does what I need but does not return a cts:query. Are there any other options I have not looked at? Thanks, gary
_______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
