【发布时间】:2020-06-04 06:43:44
【问题描述】:
MarkLogic 9.0.8.2
我们在 MarkLogic 中有大约 2000 万条记录。
对于其中一项业务需求,我们需要为每个xml生成额外的数据,然后需要用户搜索这些数据。
由于我们无法更改原始文档,因此需要输入管理附加数据的最佳方法。以下是我们想到的几个
- 创建单独的集合并将附加数据存储在具有相同唯一编号的单独 xml 中,即与原始 xml 相同。所以当用户搜索它时,在这个集合中搜索,然后检索原始文档并发送回响应。
- 在原始文档属性中存储其他数据
我们还需要创建元素范围索引,以确保最终用户在范围运算符中提供数据时它可以正常工作。
<abc>
<xyz>
<quan>qty1</quan>
<value1>1.01325E+05</value1>
<unit>Pa</unit>
</xyz>
<xyz>
<quan>qty2</quan>
<value1>9.73E+02</value1>
<value2>1.373E+03</value2>
<unit>K</unit>
</xyz>
<xyz>
<quan>qty3</quan>
<value1>1.8E+03</value1>
<unit>s</unit>
</xyz>
<xyz>
<quan>qty4</quan>
<value1>3.6E+03</value1>
<unit>s</unit>
</xyz>
</abc>
我们需要处理来自 value1 元素的数据。然后用户将搜索类似的东西
- qty1 >= minvalue AND qty1
- qty2 >= minvalue AND qty2
- qty3 >= minvalue AND qty3
所以当用户搜索 qty1 时,它应该只从值为 qty1 的元素中获取数据,依此类推。 所以想知道
- 存储此类数据的最佳方法是什么
- 我应该创建什么样的索引来实现这个
【问题讨论】:
标签: indexing marklogic data-processing