Thank you Geert for correcting me. I tried by excluding "/" ( e.g. product-reference/product-id/date) from path index and it is working fine.
Could you please give some more reasons/suggestions why should we not use "/" or "//"? as we tried with "/" & "//" and It was returning same result as without these path separators. Thank you! On Mon, Apr 13, 2015 at 12:32 PM, Geert Josten <[email protected]> wrote: > Just a small addition: the expression that you provide to path indexes > does not have to start with / nor with //. Compare it with XSLT match > expressions, as opposed to XSLT select expressions. > > Kind regards, > Geert > > From: Indrajeet Verma <[email protected]> > Reply-To: MarkLogic Developer Discussion <[email protected]> > Date: Sunday, April 12, 2015 at 8:52 PM > To: MarkLogic Developer Discussion <[email protected]> > Subject: Re: [MarkLogic Dev General] How to find particular element using > path index > > Shashidhar - It's nice to hear that your problem solved. This should > work with //product-reference/product-id/date as well. Main point is your > path should point/return the value that you are trying to search/get. > > As per my understanding this should be proper XPath that is searchable. > > On Mon, Apr 13, 2015 at 1:11 AM, Shashidhar Rao < > [email protected]> wrote: > >> Thanks Indrajeet for the code. But as I look into your range path >> index admin ui configuration one thing I observed, you started from the >> root element and whereas I started in the from product reference. Probably >> you path is correct one i guess >> >> Maybe this is where I got it wrong , but do you really have to start >> from the root element say in this case I could start say >> //product-reference/product-id/date . >> >> >> But yes I think I forgot that product id. >> >> Thanks a lot >> >> On Mon, Apr 13, 2015 at 12:02 AM, Shashidhar Rao < >> [email protected]> wrote: >> >>> My search values in java code >>> >>> QueryOptionsManager optionsMgr = client.newServerConfigManager() >>> .newQueryOptionsManager(); >>> String optionXml = "<search:options " >>> + "xmlns:search='http://marklogic.com/appservices/search >>> '>" >>> + "<search:values name='datepath'>" >>> + "<search:range collation=' >>> http://marklogic.com/collation/' type='xs:string'>" >>> + >>> "<search:path-index>/product-reference/date</search:path-index>" + >>> "</search:range>" >>> + "</search:values>" + "</search:options>"; >>> >>> StringHandle writeHandle = new StringHandle(optionXml); >>> optionsMgr.writeOptions("datepath", writeHandle); >>> >>> QueryManager queryMgr = client.newQueryManager(); >>> ValuesDefinition query = queryMgr.newValuesDefinition( >>> "datepath","datepath"); >>> ValuesHandle values = queryMgr.values(query, new >>> ValuesHandle()); >>> >>> for (CountedDistinctValue value : values.getValues()) { >>> String textValue = value.get("xs:string", String.class); >>> System.out.println(textValue ); >>> } >>> >>> On Sun, Apr 12, 2015 at 11:19 PM, Shashidhar Rao < >>> [email protected]> wrote: >>> >>>> Sorry that was a typo from my side and yes I created the path index >>>> in admin ui >>>> <constraint name='date'> >>>> <range collation='http://marklogic.com/collation/' >>>> type='xs:string' facet='false'> >>>> <path-index>/product-reference/date</path-index> >>>> </range> >>>> </constraint> >>>> But still I could not get the results. >>>> Error : Local message: search failed: Bad Request. Server Message: null >>>> >>>> >>>> >>>> On Sun, Apr 12, 2015 at 9:43 PM, Shashidhar Rao < >>>> [email protected]> wrote: >>>> >>>>> Hi , >>>>> Below is the structure of my document. I want to find the date under >>>>> the <product-reference> and not the date from the <store-reference>. >>>>> >>>>> XML-STRUCTURE >>>>> >>>>> <product-reference> >>>>> <product-id> >>>>> <country>IND</country> >>>>> <product-number>AA-503</product-number> >>>>> <product-type>apparel</product-type> >>>>> <date>20130105</date> >>>>> </product-id> >>>>> </product-reference> >>>>> <store-reference> >>>>> <store-id> >>>>> <country>JP</country> >>>>> <store-number>8369</store-number> >>>>> <date>20120906</date> >>>>> </store-id> >>>>> </store-reference> >>>>> >>>>> I have create this optionsname as "date-product" and constraint as >>>>> >>>>> <constraint name='date'> >>>>> <range collation='http://marklogic.com/collation/' >>>>> type='xs:string' facet='false'> >>>>> <path-index>/publication-reference/date</path-index> >>>>> </range> >>>>> </constraint> >>>>> >>>>> JAVA CODE >>>>> >>>>> QueryManager queryMgr = client.newQueryManager(); >>>>> ValuesDefinition query = >>>>> queryMgr.newValuesDefinition("date-product", >>>>> "date"); >>>>> ValuesHandle values = queryMgr.values(query, new ValuesHandle()); >>>>> >>>>> for (CountedDistinctValue value : values.getValues()) { >>>>> String textValue = value.get("xs:string", String.class); >>>>> System.out.println(textValue ); >>>>> } >>>>> I am not getting any results. >>>>> >>>>> Am I missing something or could somebody correct my code or help me >>>>> with how to find values with path-index with range element index I am >>>>> getting the results. >>>>> >>>>> Thanks >>>>> >>>>> >>>>> >>>> >>> >> >> _______________________________________________ >> 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
