如何以json格式向StructuredQueryDefinition添加选项

时间:2016-01-29 14:58:49

标签: marklogic marklogic-8

我是marklogic的新手,想在json中创建marklogic查询。

我使用StructuredQueryDefinition创建查询,然后创建RawCombinedQueryDefinition。

StructuredQueryDefinition queryCriteria = sqb.or(query, sqb.properties(sqb.term(parameters.getQuery))));
String combinedQuery = "<search xmlns=\"http://marklogic.com/appservices/search\">"             + queryCriteria.serialize() + options + "</search>";
RawCombinedQueryDefinition rawCombinedQuery = queryMgr.newRawCombinedQueryDefinition( new StringHandle(combinedQuery));

我可以使用StructuredQueryDefinition在json中创建查询吗?如果是,我该如何为json添加选项?

由于

1 个答案:

答案 0 :(得分:0)

您不能使用StructuredQueryDefinition在json中创建查询。但是,您可以使用流行的XML构建器来构建XML选项,这样您就不必管理原始XML。或者,如果您真的喜欢JSON中的选项,可以使用Jackson以JSON格式生成结构化查询,然后组合您的json选项。

这样的事情:

# /usr/share/ansible/plugins/filter/format_list.py (check filter_plugins path in ansible.cfg)

def format_list(list_, pattern):
    return [pattern % s for s in list_]


class FilterModule(object):
    def filters(self):
        return {
            'format_list': format_list,
        }

对于后代,我认为这个问题与this one from the same user有关。也许我对这个问题的回答也会对这个问题有所帮助。