0

我正在使用cts:element-value-co-occurences返回大量值的查询。由于我提供“ map”作为选项,因此将这些事件复制到地图中(下面给出示例)。

查询的返回地图

map:map(
<map:map xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:map="http://marklogic.com/xdmp/map">
<map:entry key="doc">
  <map:value xsi:type="map:map">
  <map:map>
     <map:entry key="/data/fb/www.abcdefgh.com#form123456665364#thread123456968765#post987986513213_65434360536840613_66445444">
     <map:value xsi:type="xs:float">0.289406</map:value>
     </map:entry>
  </map:map>
  </map:value>
</map:entry>
</map:map>
)

正如您所注意到的,我的地图键是“ doc”,返回的出现被复制到这个键“ doc”中sub-map。子地图的 " <map:entry key=" 有一个大 URL 作为键。

当查询返回一个事件/结果时,它很好。问题是当返回数百个结果时,性能变得非常糟糕。有没有其他选择?我只关心值“0.289406”而不是大键。

我可以将值单独直接放入任何 xml 元素中,如下所示:-

<doc>
 <valu>0.289406</valu>
 <valu>-0.23456</valu>
 <valu>0.3665</valu>
</doc>

而不是使用地图或任何迭代?

4

1 回答 1

0

数百个结果应该没问题。我定期处理地图中的数千到数百万个结果。

所以我怀疑还有其他事情发生。如果你能想出一个可重现的测试用例,那么有人可能会发现问题。

于 2013-01-15T18:45:45.537 回答