将多个字段连接到marklogic中的单个字段

时间:2017-03-28 12:13:39

标签: marklogic marklogic-8 marklogic-7

这些是我上传到我的数据库的示例XML:

<?xml version="1.0" encoding="UTF-8"?>
<AXFRoot>
  <MAObject type="default" mdclass="NEWS_VIDEO" label="News Video">
    <ID name="">123456</ID>
    <Meta name="MAINTITLE" format="string" label="Title">Clifford Irving hugs his wife Edith after her release from a Nassau jail.</Meta>
    <Meta name="SYSTEM_OBJECTOWNER" format="string" label="Owner">DEFAULT</Meta>
	<Meta name="KEYWORDS" format="string" label="Keywords">clifford-irving edith-irving prisoner-releases 1972-08-18 nassau new-york US nassau-county-jails prisons wifes husbands media, [],</Meta>
  </MAObject>
<AXFRoot>

<?xml version="1.0" encoding="UTF-8"?>
<AXFRoot>
  <MAObject type="default" mdclass="NEWS_VIDEO" label="News Video">
    <ID name="">456123</ID>
    <Meta name="MAINTITLE" format="string" label="Title">CAMEL NEWS CARAVAN- SEGMENT 2: US Military women march in Formosa in 1950.</Meta>
    <Meta name="SYSTEM_OBJECTOWNER" format="string" label="Owner">DEFAULT</Meta>
	<Meta name="KEYWORDS" format="string" label="Keywords">Military women-march Formosa-in-1950 United-States-army US</Meta>
  </MAObject>
<AXFRoot>

<?xml version="1.0" encoding="UTF-8"?>
<AXFRoot>
  <MAObject type="default" mdclass="NEWS_VIDEO" label="News Video">
    <ID name="">78946</ID>
    <Meta name="MAINTITLE" format="string" label="Title">Commercial US Title</Meta>
    <Meta name="SYSTEM_OBJECTOWNER" format="string" label="Owner">DEFAULT</Meta>
	<Meta name="KEYWORDS" format="string" label="Keywords">commercial 2009 english advertisement movie parts</Meta>
  </MAObject>
<AXFRoot>

我想在这里做的是,当我通过/ search?q = US搜索单词US时,我希望查询结果在JSON中有一个数据字段,其中包含所有包含单词US的地方。

例如: 数据:{clifford-irving edith-irving囚犯释放1972-08-18 nassau new-york美国拿骚县监狱妻子丈夫媒体,[],CAMEL NEWS CARAVAN- SEGMENT 2:美国军人女性1950年在福尔摩沙游行.Military women-march Formosa-in-1950 United States-army US Commercial Commercial Title}

有没有办法在MarkLogic中进行此类查询?

1 个答案:

答案 0 :(得分:2)

使用Search API,您可以返回一个XML结构,其中的代码段显示了上下文中的每个匹配项。

您可能需要指定一个较大的max-snippet-chars值,以确保获得整个代码段文本:

无论如何,您可以将XML结构转换为JSON对象。例如,使用REST API,您可以为搜索指定后处理转换:

顺便说一句,XML词汇表似乎通过属性值(特别是name属性)提供标记语义。为了能够根据标记语义索引和限制搜索匹配,您应该考虑更改模型,使值为标记,如MAINTITLE元素和OBJECTOWNER元素。像meta元素这样的通用标记对索引无用。

希望有帮助,