关于分面的问题

Questions regarding facets

我有以下用例:

有 2 个文档具有这样的标签 'India' 和 'Malaysia' :

Document 1 :

<Tags>
      <Tag>
          <termId>India</termId>
          <Score>0.89</Score>
      </Tag>
      <Tag>
          <termId>Malaysia</termId>
          <Score>0.41</Score>
      </Tag>
</Tags>

Document 2 :

<Tags>
     <Tag>
         <termId>India</termId>
         <Score>0.88</Score>
     </Tag>
     <Tag>
         <termId>Malaysia</termId>
         <Score>0.91</Score>
     </Tag>
</Tags>

我需要标签得分大于 0.7 的文档,同时我将 termId 作为分面,现在当我搜索得分大于 0.7 的文档时,它 return这两个文件都是我的,但在方面我也得到印度和马来西亚的计数为 2,因为它们在两个文档中都存在,但我只希望马来西亚计数为 1,因为它没有更高的分数然后 0.7.

有没有一种方法可以让我指定 return 只有那些分数大于 0.7 的 termId?

我正在使用以下查询:

 search:search('(India ) AND ( score GE 0.70 )',
 <options xmlns="http://marklogic.com/appservices/search">
    <constraint name="termId">  
         <range type="xs:string" facet="true">                
             <element ns="" name="termId"/>      
         </range> 
    </constraint>
    <constraint name="score" >
        <range type="xs:string" >
            <element ns="" name="Score"/>
        </range>
    </constraint>
 </options>,1)

Facets 显示匹配文档的所有值。

与其尝试过滤分面节点,不如考虑标签是否可以位于单独的文档中。你能解释为什么标签在同一个文档中吗?也许还有另一种方法可以满足该要求。

希望对您有所帮助,