[MarkLogic Dev General] hyphens and cts:element-value-query
gary.larsen at envisn.com
Tue Feb 28 10:12:44 PST 2017
Geert and Andreas,
Thanks for pointing out tokens vs. values that I wasn’t understanding.
Using ‘filtered’ in cts:search works, but I’ve always tried to avoid that for performance reasons. In this case I’ve added a predicate check in the result instead.
But to Andreas’s point, it seems that ‘exact’ or ‘punctuation-sensitive’ should be able to match, or maybe I’m not understanding the documentation for cts:element-value-query. If it did work I guess there would be extra work un-tokenizing?
I using ML version 8.0-6
Thanks for any clarification,
From: general-bounces at developer.marklogic.com [mailto:general-bounces at developer.marklogic.com] On Behalf Of Andreas Hubmer
Sent: Tuesday, February 28, 2017 8:23 AM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] hyphens and cts:element-value-query
As far as I know there are index entries for "exact" queries in the universal index, that include punctuation and whitespace. Thus, Gary's value queries should work unfiltered.
There is an email by Mary Holstege supporting my assumption: http://developer.marklogic.com/pipermail/general/2013-March/012552.html
2017-02-28 13:58 GMT+01:00 Geert Josten <Geert.Josten at marklogic.com>:
Sounds like you are running an unfiltered search. Either enable filtering to get rid of false positives, or switch to using element-range-query (which requires a range index). Keep in mind that value-queries don’t use range indexes (even if available), but rely on the universal index, which contains tokens, not values..
From: <general-bounces at developer.marklogic.com> on behalf of Gary Larsen <gary.larsen at envisn.com>
Reply-To: MarkLogic Developer Discussion <general at developer.marklogic.com>
Date: Monday, February 27, 2017 at 10:01 PM
To: 'General MarkLogic Developer Discussion' <general at developer.marklogic.com>
Subject: [MarkLogic Dev General] hyphens and cts:element-value-query
I’m trying to get this cts query to treat hyphens as text:
cts:element-value-query(xs:QName(ename), 'value 1', ‘exact’)
cts:element-value-query(xs:QName(ename), 'value-1', ‘exact’)
Even though the ename value-1 does not exist a match is found.
General mailing list
General at developer.marklogic.com
Manage your subscription at:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the General