【发布时间】:2018-04-23 10:01:38
【问题描述】:
我在 Marklogic 中为 json 文件存储了以下信息,如下所示。
1.json>> "dateSubmitted" : "2017/10/11 09:15:14"
2.json>> "dateSubmitted" : "2017/10/11 10:13:14"
3.json>> "dateSubmitted" : "2017/10/14 11:12:13"
我的查询词是:
String dateQuery = "2017/10/11";
我尝试了 2 种方法,但似乎都不起作用。
方法一:
StructuredQueryBuilder qb = new StructuredQueryBuilder();
QueryDefinition queryDef = qb.and(qb.word((qb.jsonProperty("dateSubmitted"),dateQuery)));
queryDef.setDirectory(DIRECTORY);
SearchHandle resultsHandle = new SearchHandle();
queryManager.search(queryDef, resultsHandle, start);
方法二:
StructuredQueryBuilder qb = new StructuredQueryBuilder();
String[] wordQueryOptions = {"punctuation-sensitive", "space-sensitive"};
QueryDefinition queryDef = qb.and(qb.word((qb.jsonProperty("dateSubmitted"),
FragmentScope.DOCUMENTS,
wordQueryOptions,100.0,dateQuery)));
queryDef.setDirectory(DIRECTORY);
SearchHandle resultsHandle = new SearchHandle();
queryManager.search(queryDef, resultsHandle, start);
预期的结果是只返回 1.json 和 2.json。
不过 3.json 也返回了。
我的 Marklogic 管理员中是否缺少某些设置来激活选项或标点敏感?
【问题讨论】:
标签: java json marklogic punctuation