【发布时间】:2015-02-20 21:47:29
【问题描述】:
是否可以对子元素进行索引?
我的数据是这样设置的
<schedule id="ID_HERE" lang="LANGUAGE">
<scheduleItem id="CHILD_NODE_ID" lang="eng">
<dateTime>
2015-01-19T00:00:09-00:00
</dateTime>
</scheduleItem>
<scheduleItem id="CHILD_NODE_ID1" lang="eng">
<dateTime>
2015-01-19T00:00:09-00:00
</dateTime>
</scheduleItem>
<scheduleItem id="CHILD_NODE_ID2" lang="eng">
<dateTime>
2015-01-19T00:00:09-00:00
</dateTime>
</scheduleItem>
</schedule>
我的数据库中有多个时间表。
我正在尝试获取适合搜索结果的 scheduleItems 的数量 - 例如:/@lang = eng 和 /dateTime < 2015-01-19T00:00:00 的所有 scheduleItems 的计数
我正在使用 search:search 来查询这些项目,但是搜索的结果/@total 是日程安排的数量,而不是日程安排项目的数量。
我还发现,当我执行xdmp:estimate(/schedule/scheduleItem) 时,它返回的是计划数,而不是 scheduleItem 数。
fn:count() 返回正确的数字,但如果 fn:count() 速度慢且不使用索引,我想避开它。
有没有办法使用xdmp:estimate() 或search:search() 获取 scheduleItems 的数量?
我正在研究字段范围索引
【问题讨论】:
-
我还尝试了
search:search()选项为<return-results>false</return-results>这只返回了计划的数量 -
您可以在
<scheduleItem>上创建片段根,但一般来说,片段根不是一个好主意,除非一些非常特殊的场景。您需要提供有关数据库中内容的更多信息,以及该应用程序为某人所做的确切工作,以确定这是否合适。 -
@wst 据我了解,片段根会使我的
<scheduleItem>s 像文档一样被索引?缺点是什么?将每个<scheduleItem>放在单独的文档中会不会更糟? (它们大约有 430 个字符长)
标签: xml indexing xquery marklogic