我在搜索API中使用范围索引。当我的文档对范围索引中使用的元素具有空白或无效条目时,我得到错误的结果。下面是示例代码。请告诉我如何在执行搜索时排除此空白/无效值以获得正确的结果。
{cts:and-query((cts:directory-query((' + searchDir + ')),cts:element-attribute-value-query(xs:QName("document"), xs:QName("document-status"), "active"),cts:element-query(xs:QName("version"),cts:and-query((cts:element-attribute-value-query(fn:QName("","version"), fn:QName("","version-status"), "active", ("lang=en"), 1),cts:element-range-query(fn:QName("","expiration-date"), ">=", xs:date("' +expDtStart + '"), (), 1),cts:element-range-query(fn:QName("","expiration-date"), "<=", xs:date("' +expDtEnd + '"), (), 1)))) ))}
到期日期是我的元素。
答案 0 :(得分:0)
无效值很难排除,但可以使用以下内容排除空元素:
cts:not-query(cts:element-value-query(xs:QName('expiration-date'), ""))
将范围索引的invalid-values
设置切换为reject
而不是ignore
可能会更容易。
HTH!