I want to identify the documents which have incorrect(as per our project standard) date format in one of it's element eg: . Our application standard date format is '[MNn,-3] [D01], [Y]'. So I am traversing through all the <document-create-date>
and want to identify documents whose date field value do not match '[MNn,-3] [D01], [Y]' format. Please let me know how to match date formats in marklogic.
答案 0 :(得分:1)
我认为最少的处理器/内存密集可能是使用词典(覆盖默认的标记化)并使用cts:not-query()
的某种组合,并使用cts:element-value-match
进行术语扩展这里的逻辑是具有无效模式的文档不会进入结果集(因为它们将被排除在词典匹配的rem扩展中)。因此,围绕此构建一些内容并cts:not-query()
应该有效。
然后归结为它是否比一些更复杂的索引更精通,因为这种方法会为查询提供一个大的术语列表。
答案 1 :(得分:0)
您可以使用字符串match()来评估日期值是否与自定义日期格式的正则表达式模式匹配。
if (documentCreateDate.match(/[A-Z][a-z]{2} \d{2}, \d{4})) {
"date is valid"
} else {
"date is invalid"
}