在 xquery 中查找非词典值的频率
Find the frequency of non-lexicon values in xquery
有什么方法可以找到没有范围索引的元素的频率吗?
我使用的 cts:frequency()
不支持任何不是词典的元素
您需要某种类型的索引才能获得计数。除了范围索引之外,还有一种使用单词词典的方法:
for $word in cts:element-words(xs:QName("city"))
return
$word || " " ||
xdmp:estimate(
cts:search(
fn:doc(),
cts:element-word-query(xs:QName("city"), $word)))
请注意,如果您有多个单词的值,此方法可能无法为您提供预期的值。例如,如果您有 San Francisco 和 San Diego ,您将获得这些计数:
- 桑: 2
- 弗朗西斯科:1
- 迭戈:1
要获得准确的、基于价值的计数,范围索引是您的最佳选择。
有什么方法可以找到没有范围索引的元素的频率吗?
我使用的cts:frequency()
不支持任何不是词典的元素
您需要某种类型的索引才能获得计数。除了范围索引之外,还有一种使用单词词典的方法:
for $word in cts:element-words(xs:QName("city"))
return
$word || " " ||
xdmp:estimate(
cts:search(
fn:doc(),
cts:element-word-query(xs:QName("city"), $word)))
请注意,如果您有多个单词的值,此方法可能无法为您提供预期的值。例如,如果您有
- 桑: 2
- 弗朗西斯科:1
- 迭戈:1
要获得准确的、基于价值的计数,范围索引是您的最佳选择。