Shashidhar - I think, your path range index is not right.
I did below steps and showing result. Please see if this helps.
XML-
-------
<product>
<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>
</product>
CODE-
----------
import module namespace search = "http://marklogic.com/appservices/search"
at "/MarkLogic/appservices/search/search.xqy";
declare variable $OPTIONS :=
<options xmlns="http://marklogic.com/appservices/search">
<values name="datepath">
<range type="xs:string">
<path-index>/product/product-reference/product-id/date</path-index>
</range>
</values>
<return-values>true</return-values>
</options> ;
let $options :=
<options xmlns="http://marklogic.com/appservices/search">
{$OPTIONS/*}
</options>
let $search-results := search:values('datepath', $options)
return $search-results
RESULT-
---------------
<values-response name="datepath" type="xs:string" xmlns="
http://marklogic.com/appservices/search" xmlns:xs="
http://www.w3.org/2001/XMLSchema">
<distinct-value frequency="1">20130105</distinct-value>
<metrics>
<values-resolution-time>PT0.001S</values-resolution-time>
<total-time>PT0.002S</total-time>
</metrics>
</values-response>
Range Index-
---------------------
[image: Inline image 1]
On Mon, Apr 13, 2015 at 12:15 AM, Erik Hennum <[email protected]>
wrote:
> Hi, Shashidhar:
>
> Does the configuration of the path index in the Admin UI specify the same
> data type (string with the same collation)?
>
> If so, it might be time to add <search:debug>true</search:debug> to the
> options and get the response with a string handle so you can see what's
> being executed on the server.
>
>
> Erik Hennum
>
> ------------------------------
> *From:* [email protected] [
> [email protected]] on behalf of Shashidhar Rao [
> [email protected]]
> *Sent:* Sunday, April 12, 2015 11:32 AM
> *To:* [email protected]
> *Subject:* Re: [MarkLogic Dev General] How to find particular element
> using path index
>
> 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