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<http://localhost:9070/?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

Reply via email to