我有以下表达式:
xdmp:plan
我做了let $q1 := cts:element-range-query(xs:QName("ts:week"), ">=" ,xs:date("2009-04-25"))
return cts:search(fn:doc(), $q1, "unfiltered")/ts:top-song/ts:title/text()
,并且知道正在使用范围索引并且表达式是可搜索的
但是,当我添加XPath时:
xdmp:plan
在做fn:doc()
时,它告诉我路径是无法搜索的。此外,在查询跟踪中,除了{{1}}之外没有任何可搜索的内容。
但是,因为我得到了正确的结果。我的猜测是索引工作正常。
如果是这样,那么记录消息的是什么" unsearchable" ?
在这种情况下我特别需要title元素,我可以做些什么来使整个表达式可搜索?
答案 0 :(得分:3)
这段代码做了两件事:
换句话说,XPath不是搜索的一部分。它将后处理应用于搜索结果。
xdmp:estimate()
和xdmp:plan()
都只接受搜索输入,而不接受搜索结果的后处理。
希望澄清,
答案 1 :(得分:1)
如果ts:title
元素上有元素范围索引,您可以使用cts:element-values()
通过应用$q1
查询来检索标题,这将是一个索引解析的操作
例如:
cts:element-values(xs:QName("ts:title"), "", (), $q1)