MarkLogicJavaAPI查询记录器
我想运行以下查询以获取JSON的特定部分:MarkLogicJavaAPI查询记录器,marklogic,marklogic-8,Marklogic,Marklogic 8,我想运行以下查询以获取JSON的特定部分: cts:search(/user/userdetail,cts:wordquery(“test1”)) 在java中使用MarkLogicJavaAPI 上面的查询给了我完美的结果,但我想使用MarkLogicJava客户端用java编写代码 下面是json文件: { "user": { "userdetail": [ { "username": "test", "firstName": "tes
cts:search(/user/userdetail,cts:wordquery(“test1”))
在java中使用MarkLogicJavaAPI
上面的查询给了我完美的结果,但我想使用MarkLogicJava客户端用java编写代码
下面是json文件:
{
"user": {
"userdetail": [
{
"username": "test",
"firstName": "testName",
"lastName": "testLastName",
"maritalStatus": "Unmarried",
"password": "testPassword"
},
{
"username": "test1",
"firstName": "testName1",
"lastName": "testLastName2",
"maritalStatus": "married",
"password": "testPassword1"
}
]
}
}
QueryManager queryMgr = databaseClient.newQueryManager();
RawCombinedQueryDefinition query = queryMgr.newRawCombinedQueryDefinitionAs(Format.JSON,
"{\"search\": {" +
" \"qtext\": \"test1\"," +
" \"options\": {" +
" \"searchable-expression\": {" +
" \"text\": \"/user/userdetail\"" +
" }," +
" \"transform-results\": {\"apply\": \"raw\"}" +
"}}}"
);
JsonNode jsonResponse = queryMgr.search(query, new JacksonHandle()).get();
JsonNode firstMatch = jsonResponse.path("results").path(0).path("content");