Hi Eric,Thank you for your tip. I added the value constraint and it did allow 
me to search with title:"The Book Title".However it requires me to add the 
complete title. What would allow me to search with just one word like 
title:book?regards,Puneet
From: [email protected]
To: [email protected]
Date: Sun, 3 May 2015 13:33:55 +0000
Subject: Re: [MarkLogic Dev General] custom search: Field contraint












Hi, Yinyan:



A collection is a named set to which documents can be added.  Thus, a 
collection constraint will search for the documents that are members of the 
specified collections.



To match the value of a JSON property, use a value constraint.  Please see:



    http://docs.marklogic.com/guide/rest-dev/appendixa#id_48883



In the example, that would look similar to the following (untested) options: 



    {"options": {"constraint": [{"name": "title", "value": {"json-property": 
"title"}}]}}



You can also use a range constraint if you need datatyped matching or 
comparison (for which you must defined a range index in advance using the Admin 
UI):



    http://docs.marklogic.com/guide/rest-dev/appendixa#id_93906



For more information about collections, please see:



    http://docs.marklogic.com/guide/search-dev/collections



You might also want to know that, in MarkLogic, the term "field" connotes an 
abstraction over JSON properties or XML elements:



    http://docs.marklogic.com/guide/admin/fields






Hoping that helps,






Erik Hennum










From: [email protected] 
[[email protected]] on behalf of Yinyan guy 
[[email protected]]

Sent: Sunday, May 03, 2015 3:44 AM

To: [email protected]

Subject: [MarkLogic Dev General] custom search: Field contraint






Hi All,
I am trying to implement Field search using REST Search API. The JSON structure 
of all my document is as follows



{

"id" : 1,
"title" : "The Book Title"
"price" : "$100"

}



and I would want to search title:Book using my search API 
("http://localhost:8040/v1/search?q=title:mini";)



I have tried using all the following options to update the settings




curl -v -X PUT  --digest --user admin:admin  -H "Content-type: 
application/json" -d '{"options": {"constraint": [{"collection": {"prefix": 
"\title"},"name": "title"}]}}' 'http://localhost:8040/v1/config/query/entitle2'




curl -v -X PUT  --digest --user admin:admin  -H "Content-type: 
application/json" -d '{"options": {"constraint": [{"collection": {"prefix": 
"title"},"name": "title"}]}}' 'http://localhost:8040/v1/config/query/entitle1'




curl -v -X PUT  --digest --user admin:admin  -H "Content-type: 
application/json" -d '{"options": {"constraint": [{"collection": {"prefix": 
"title/"},"name": "title"}]}}' 'http://localhost:8040/v1/config/query/entitle'



All the above commands worked fine and I can see all of these constraints in 
("http://localhost:8040/v1/config/query?format=json";) but none
 of them return any results.



I have following questions



1. what would be right path for my JSON? (title. title/,\title)
2. is this the right way to customize the search API?



Thanks in advance.
regards.
Puneet








_______________________________________________
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