MarkLogic-以构面形式返回属性

时间:2018-09-04 18:01:10

标签: marklogic marklogic-9

我正在使用查询选项返回全名方面。下面是代码段。

"constraint": [
          { 
          "name": "Full Name",
          "range": 
                         {
          "type": "xs:string",
          "element": {"name": "Full Name" }
                         }
          }
          ]

我能够按预期返回构面。

"facets":    {
   "Full Name":       {
      "type": "xs:string",
      "facetValues":          [
                     {
            "name": "John H",
            "count": 1,
            "value": "John H"
         },
                    {
            "name": "Jim White",
           "count": 1,
           "value": "Jim White"
        }
     ]
   }
} 

但是,我还有其他属性,例如电子邮件地址,电话号码等也要返回。是否可以在“ facets”属性下还返回其他属性,而不必创建范围索引?我看到所有属性都在results.extracted.content属性下返回,但是我正尝试将所有必需的属性一起返回,如下所示。

"facets":    {
   "Full Name":       {
      "type": "xs:string",
      "facetValues":          [
                     {
            "name": "John H",
            "count": 1,
            "value": "John H"
            "email": "john.h@abc.com",
            "phone": "123456789"
         },
                    {
            "name": "Jim White",
           "count": 1,
           "value": "Jim White"
            "email": "jim.white@abc.com",
            "phone": "123456789"
        }
     ]
   }
} 

1 个答案:

答案 0 :(得分:0)

Facets不能那样工作。构面旨在返回具有频率计数的唯一值。因此,它们未链接到这样的实际文档。如果您希望返回属性组合,我会看到两个更明显的选择:

  • 将搜索结果转换为不仅提取其他值,而且将值的组合拉在一起,例如使用REST transforms
  • 使用tuples定义可同时从多个范围索引中提取组合。可与/v1/values个端点
  • 一起使用

HTH!