在marklogic中将多个字段连接成一个字段
Concatenate multiple fields into a single field in marklogic
这些是我上传到数据库的示例 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中有一个包含所有地方的数据字段其中有美国这个词。
例如:
数据:{clifford-irving edith-irving prisoner-releases 1972-08-18 nassau new-york US nassau-county-jails prisons wifes husbands media, [],CAMEL NEWS CARAVAN- SEGMENT 2: US Military women march in Formosa in 1950.Military women-march Formosa-in-1950 United States-army US Commercial US Title}
有没有办法在 MarkLogic 中进行此类查询?
使用搜索 API,您可以返回一个 XML 结构,其中包含显示上下文中每个匹配项的片段。
您可能需要指定一个较大的 max-snippet-chars 值以确保您获得完整的代码段文本:
无论如何,您可以将 XML 结构转换为 JSON 对象。例如,使用 REST API,您可以为搜索指定 post-处理转换:
顺便说一句,XML 词汇表似乎通过属性值(尤其是名称属性)提供标记语义。为了能够根据标记语义索引和限制搜索匹配,您应该考虑更改模型,以便值是标记,如在 MAINTITLE 元素和 OBJECTOWNER 元素中一样。像元元素这样的通用标记对索引没有用。
希望对您有所帮助,
这些是我上传到数据库的示例 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中有一个包含所有地方的数据字段其中有美国这个词。
例如: 数据:{clifford-irving edith-irving prisoner-releases 1972-08-18 nassau new-york US nassau-county-jails prisons wifes husbands media, [],CAMEL NEWS CARAVAN- SEGMENT 2: US Military women march in Formosa in 1950.Military women-march Formosa-in-1950 United States-army US Commercial US Title}
有没有办法在 MarkLogic 中进行此类查询?
使用搜索 API,您可以返回一个 XML 结构,其中包含显示上下文中每个匹配项的片段。
您可能需要指定一个较大的 max-snippet-chars 值以确保您获得完整的代码段文本:
无论如何,您可以将 XML 结构转换为 JSON 对象。例如,使用 REST API,您可以为搜索指定 post-处理转换:
顺便说一句,XML 词汇表似乎通过属性值(尤其是名称属性)提供标记语义。为了能够根据标记语义索引和限制搜索匹配,您应该考虑更改模型,以便值是标记,如在 MAINTITLE 元素和 OBJECTOWNER 元素中一样。像元元素这样的通用标记对索引没有用。
希望对您有所帮助,