gpt4 book ai didi

indexing - 如何在 MarkLogic 中管理附加处理数据

转载 作者:行者123 更新时间:2023-12-02 09:02:38 25 4
gpt4 key购买 nike

MarkLogic 9.0.8.2

我们在 MarkLogic 中有大约 2000 万条记录。

对于其中一项业务需求,我们需要为每个 xml 生成附加数据,然后需要用户搜索这些数据。

由于我们无法更改原始文档,因此需要输入管理附加数据的最佳方法。以下是我们想到的一些

  1. 创建单独的集合并将附加数据存储在具有相同唯一编号的单独 xml 中,即与原始 xml 相同。因此,当用户搜索它时,在该集合中搜索,然后检索原始文档并将响应发送回来。
  2. 将附加数据存储在原始文档属性中

我们还需要创建元素范围索引,以确保当最终用户在范围运算符中提供数据时它可以正常工作。

<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 元素的数据。然后用户将搜索类似的内容

  • 数量1>= 最小值 AND 数量1<=最大值
  • 数量2>= 最小值 AND 数量2<=最大值
  • 数量3>= 最小值 AND 数量3<=最大值

因此,当用户搜索 qty1 时,它应该只从值为 qty1 的元素获取数据,依此类推。所以想知道

  • 存储此类数据的最佳方法是什么
  • 我应该创建什么样的索引来实现这个

最佳答案

我建议将原始数据包装在信封中,这样可以在 header 中添加额外的数据。它还可以允许在数据的相关部分上创建规范 View ,并将其存储为实例,并将原始数据存储为“附件”(子属性,而不是附加的二进制文件),或者按原样保留实例,然后将 header 中索引的规范值。

有一篇关于该主题的冗长博客文章,详细讨论了优点和缺点:https://www.marklogic.com/blog/envelope-design-pattern/

呵呵!

关于indexing - 如何在 MarkLogic 中管理附加处理数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62188415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com