Hi, Ravindra:
It should work if you prefix the container before the contained constraint, as
in:
let $search := "concept.registrar:username:WHITEMK"
By the way, when you're trying to understand how a query text is being parsed,
it's sometimes easier to work with search:parse() at first.
Hoping that helps,
Erik Hennum
________________________________
From: [email protected]
[[email protected]] on behalf of Ravindra B Mamidipaka
[[email protected]]
Sent: Wednesday, January 20, 2016 5:55 AM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] Search Constraints in XQuery
Hello Charles,
Thank you for the suggestions.. Is it possible to provide a container -query
example for this case.. I am trying to wrap my head around the concept and
getting nowhere :).. Following is what I tried, and it does not work
let $search := "(username:WHITEMK) AND (concept.registrar: )"
let $options :=
<options xmlns="http://marklogic.com/appservices/search">
<constraint name="concept.registrar">
<container>
<json-property>registrar</json-property>
</container>
</constraint>
<constraint name="username">
<value>
<json-property>username</json-property>
<term-option>case-insensitive</term-option>
<term-option>wildcarded</term-option>
</value>
</constraint>
<return-facets>false</return-facets>
<return-values>false</return-values>
<return-constraints>false</return-constraints>
<return-frequencies>false</return-frequencies>
<return-qtext>false</return-qtext>
<search-option>unfiltered</search-option>
<search-option>unfaceted</search-option>
<search-option>format-json</search-option>
<search-option>score-simple</search-option>
</options>
let $start := 1
let $page-length :=10000
return search:search($search, $options, $start, $page-length)
Thanks,
Ravi
________________________________
From: [email protected]
To: [email protected]
Date: Wed, 20 Jan 2016 04:04:06 +0000
Subject: Re: [MarkLogic Dev General] Search Constraints in XQuery
Hello Ravi,
Your guess is correct -- json-property can not be used for nested elements.
You can add additional query terms to limit the search to 'registrar', like a
container-query
(that would be a runtime additional query to AND with the bare json-property)
or if you can use a path range index (wouldn't be for matches and wildcards
though),
a path range index with path definition registrar/username would match the
location you have.
Not sure how helpful this response is though..
Charles
________________________________
From: [email protected]
[[email protected]] on behalf of Ravindra B Mamidipaka
[[email protected]]
Sent: Tuesday, January 19, 2016 12:54 PM
To: [email protected]
Subject: [MarkLogic Dev General] Search Constraints in XQuery
In the search:search in XQuery.. for search constraints , how do I specify the
json-property to be nested ? I am trying this and it does not work
<options
xmlns="http://marklogic.com/appservic...<http://marklogic.com/appservices/search>">
<constraint name="concept.registrar.username">
<value>
<json-property>registrar/username</json-property>
<term-option>case-insensitive</term-option>
<term-option& gt;wildc arded</term-option>
</value>
</constraint>
</options>
Thanks,
Ravi
_______________________________________________ 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