Hi Oleksii,

You'll have to create a string range index too. I've never used
cts:element-value-match() with anything but a string index, but it looks
like it's possible: you just get back the value you asked for, if it
exists. And now that I think about it, that can be rather useful! So thanks
for effectively cluing me in to this use case! :-)

The docs for the $pattern parameter say: "The parameter type must match the
lexicon type. String parameters may include wildcard characters."[1]

So that seems to confirm that wildcards can only be used with string-typed
range indexes.

Evan

[1] http://docs.marklogic.com/cts:element-value-match#pattern


Evan Lenz
President, Lenz Consulting Group, Inc.
http://lenzconsulting.com
+1 (206) 898-1654

On Mon, Jun 19, 2017 at 12:23 PM, Oleksii Segeda <[email protected]
> wrote:

> Christopher,
>
> It gives false positives if I use it with cts:element-values.
>
> Shan,
>
> The rule is to find all values which start with given value. For example,
> 200 should match 200, 2001, 2002, ... 20010, 20020, 2002123, etc..
> Are you suggesting to guess all possible combinations? If so, it's not
> possible.
>
> As I said, I need something like this (pseudo code):
>
> cts:element-value-match(xs:QName("element"), "200*")
>
> except that I don't have a string range index on that field, but I do have
> an int range index instead.
>
> Best,
> Oleksii.
>
> -----Original Message-----
> From: [email protected] [mailto:general-bounces@
> developer.marklogic.com] On Behalf Of Shan Jiang
> Sent: Monday, June 19, 2017 2:06 PM
> To: MarkLogic Developer Discussion <[email protected]>
> Subject: Re: [MarkLogic Dev General] cts:element-value-match for integers
>
> What is your exact search rule? From your example, looks like you try to
> look for another number by adding a ³0². If that is the case, can you run
> a cts:or-query, one for 200, and one for 2000?
>
> Shan Jiang
> Principal Consultant
> MarkLogic Corporation
> [email protected]
> Phone: +1 703 869 4672
> www.marklogic.com <http://www.marklogic.com/>
>
>
>
>
>
>
> On 6/19/17, 12:59 PM, "[email protected] on behalf
> of Oleksii Segeda" <[email protected] on behalf of
> [email protected]> wrote:
>
> >Hi everyone,
> >
> >Any thoughts on this?
> >
> >Oleksii.
> >
> >
> >-----Original Message-----
> >From: Oleksii Segeda
> >Sent: Friday, June 16, 2017 6:16 PM
> >To: [email protected]
> >Subject: cts:element-value-match for integers
> >
> >Hi everyone,
> >
> >Can someone explain how does cts:element-value-match work with integer
> >indexes? I cannot pass a string as a second argument, so it's unclear how
> >to do a wildcarded search.
> >Ultimate goal is to find 2000 and 200, if user typed 200. I understand
> >that I can create an additional string index, but I want to know if a
> >better solution exists.
> >
> >Thanks.
> >
> >Oleksii Segeda
> >IT Analyst
> >Information and Technology Solutions
> >www.worldbank.org
> >
> >
> >
> >
> >_______________________________________________
> >General mailing list
> >[email protected]
> >Manage your subscription at:
> >http://developer.marklogic.com/mailman/listinfo/general
>
> _______________________________________________
> General mailing list
> [email protected]
> Manage your subscription at:
> http://developer.marklogic.com/mailman/listinfo/general
> _______________________________________________
> General mailing list
> [email protected]
> Manage your subscription at:
> http://developer.marklogic.com/mailman/listinfo/general
>
_______________________________________________
General mailing list
[email protected]
Manage your subscription at: 
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to