【发布时间】:2017-01-26 01:30:33
【问题描述】:
作为后续问题:MarkLogic - getting distinct values
我有一个这样的文档结构:
<document>
<question_item>
<question>What is your name?</question>
<answer>Barney Rubble</answer>
</question_item>
<question_item>
<question>What is your address?</question>
<answer>Bedrock</answer>
</question_item>
...
</document>
感谢收到关于另一个问题的回答,我现在可以按频率顺序列出所有不同的问题:
for $v in cts:element-values(xs:QName('question'), (), (),
cts:element-word-query(xs:QName('question'), 'name'))
where cts:contains($v, cts:word-query('name'))
order by cts:frequency($v)
return concat($v,concat("-",cts:frequency($v)))
我希望能够在每个不同的问题中包含最常见的 x 个答案及其数量,例如Barney Rubble (100)、Fred Flintstone (59) 等
有没有办法合理有效地做到这一点?我知道另一种选择是将文档格式更改为每个 question_item 有一个文档,但如果可能的话,我希望暂时避免这种情况。
非常感谢任何帮助。谢谢!
【问题讨论】:
-
Robert,如果您不需要扩展,这些功能很简单。关于您的体重秤的一些想法可以帮助我们回答这个问题。你大概有多少份文件?多少个节点?大约有多少会匹配原始查询?大约有多少会匹配第二个查询(“x 最常见的答案”)?您是否需要仅针对 gui 中可见的最热门匹配项显示第二个查询的答案?
标签: marklogic