Oh by the way, did you notice that cts:element-value-query can take multiple 
search strings? (like most of its relatives)..

Kind regards,
Geert

>


drs. G.P.H. (Geert) Josten
Consultant


Daidalos BV
Hoekeindsehof 1-4
2665 JZ Bleiswijk

T +31 (0)10 850 1200
F +31 (0)10 850 1199

mailto:[email protected]
http://www.daidalos.nl/

KvK 27164984

P Please consider the environment before printing this mail.
De informatie - verzonden in of met dit e-mailbericht - is afkomstig van 
Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit 
bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit 
bericht kunnen geen rechten worden ontleend.

> From: Geert Josten
> Sent: dinsdag 9 februari 2010 19:48
> To: 'General Mark Logic Developer Discussion'
> Subject: RE: [MarkLogic Dev General] element-value-query with
> wildcards
>
> Hi Dom,
>
> I think Doug is right. There is an interesting comment on
> this between the user notes on that function, see the last paragraph:
>
> http://developer.marklogic.com/pubs/4.1/apidocs/cts-query.html
> #cts:element-value-query
>
> The fourth example might also be of interest. In fact,
> extrapolating from the example confirms Doug's suggestion:
>
> for $node in (<my-node>1398</my-node>,
> <my-node>139/xxx</my-node>, <my-node>8139</my-node>,
> <my-node>xxx/139</my-node>) return cts:contains($node,
> cts:element-value-query(xs:QName('my-node'),
>       "139* *", "wildcarded"))
>
> (: => true true false false :)
>
> Kind regards,
> Geert
>
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf
> Of Glidden,
> > Douglass A
> > Sent: dinsdag 9 februari 2010 19:27
> > To: [email protected]
> > Subject: RE: [MarkLogic Dev General] element-value-query with
> > wildcards
> >
> > Dom,
> >
> > I would guess that this issue has to do with word boundaries.
> >  When you do an element-value-query for '139*', you are
> searching for
> > only elements whose values contain a single word starting
> with '139'
> > (because '*' does not match on word boundaries), but the slashes in
> > your desired value are probably being interpreted as word
> boundaries.
> > There are a couple of options here, I think.  One would be
> to change
> > the search string in the element-value-query to '139* *'.
> That should
> > match one or more words with the first word starting with '139'.
> > Another option would be to keep the string the same but use an
> > element-word-query, but that will also return positive for
> values like
> > '890/1396/ZZ', where any "word" in the element starts with 139.
> >
> > Doug Glidden
> > Software Engineer
> > The Boeing Company
> > [email protected]
> >
> >
> > ________________________________
> >
> > From: [email protected]
> > [mailto:[email protected]] On Behalf
> Of Dominic
> > Beesley
> > Sent: Tuesday, February 09, 2010 13:09
> > To: [email protected]
> > Subject: [MarkLogic Dev General] element-value-query with wildcards
> >
> >
> >
> > Hello,
> >
> >
> >
> > I've been trying to get the following search working:
> >
> >
> >
> >     cts:and-query(
> >
> >     (
> >
> >
> > cts:element-attribute-value-query(xs:QName("xm:field"),
> > xs:QName("type"), "number")
> >
> >       ,
> >
> cts:element-value-query(xs:QName("xm:field"),('139*'),("wildcarded"))
> >
> >      )
> >
> >
> >
> > Search for <xm:field type='number'> element containing something
> > starting with 139. However I don't seem to be able to get this to
> > work. It doesn't return all the values in my data.
> >
> >
> >
> > It brings back:  "1398" but I know there is also a value
> "139/2004/EC"
> > which I'd also like it to find.
> >
> >
> >
> > If I change this to:
> >
> >
> >
> >     cts:and-query(
> >
> >     (
> >
> >
> > cts:element-attribute-value-query(xs:QName("xm:field"),
> > xs:QName("type"), "number")
> >
> >       ,
> > cts:element-value-query(xs:QName("xm:field"),('139/2004/EC'),(
> > "wildcarded"))
> >
> >      )
> >
> > It works but I need to be able to find both at once if possible.
> >
> >
> >
> > I've set all the wildcard options to true on the database
> and added a
> > "element word lexicon" and reindexed. Will this not work?
> Do I need a
> > different type of lexicon, range?
> >
> >
> >
> > Any help gratefully received
> >
> >
> >
> > Cheers
> >
> >
> >
> > Dom
> >
> >
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to