JSON 文档的 Marklogic 日期格式
Date format in Marklogic for JSON Documents
我有 JSON 个带有日期的文档,我正在尝试创建一个范围索引。当我像这样处理 ISO8601 格式时
2015-11-02T00:00:00-0600
我收到以下错误
IndexerEnv::putRangeIndex: XDMP-RANGEINDEX: Range index error: date "2015-11-02T00:00:00-0600": XDMP-LEXVAL: Invalid lexical value "2015-11-02T00:00:00-0600"
我认为它需要在 UTC 时间并且最后还需要一个 'Z' 表示祖鲁时区,所以我强制测试时间如下
2015-11-02T00:00:00Z
我仍然遇到同样的错误..
IndexerEnv::putRangeIndex: XDMP-RANGEINDEX: Range index error: date "2015-11-02T00:00:00Z": XDMP-LEXVAL: Invalid lexical value "2015-11-02T00:00:00Z"
这里有什么问题吗?还有另一个问题,只有当我们在日期中添加 'Z'(祖鲁时区)时,Marklogic 才理解日期吗?
谢谢
您的范围索引是否使用正确的数据类型创建?
该错误告诉我您已经创建了日期数据类型的范围索引,并且您试图将日期时间推入日期范围。
尝试将范围索引的定义从日期类型更改为日期时间类型。
HTH,
彼得
谢谢大家,找到我的错误了..
对于 xs:string
以外的类型,我不应该将排序规则参数添加到排序顺序中。将其更改为
<sort-order type="xs:dateTime" collation="http://marklogic.com/collation/" direction="ascending">
<field name="concept_createdDate"/>
</sort-order>
到
<sort-order type="xs:dateTime" direction="ascending">
<field name="concept_createdDate"/>
</sort-order>
一切正常
我有 JSON 个带有日期的文档,我正在尝试创建一个范围索引。当我像这样处理 ISO8601 格式时
2015-11-02T00:00:00-0600
我收到以下错误
IndexerEnv::putRangeIndex: XDMP-RANGEINDEX: Range index error: date "2015-11-02T00:00:00-0600": XDMP-LEXVAL: Invalid lexical value "2015-11-02T00:00:00-0600"
我认为它需要在 UTC 时间并且最后还需要一个 'Z' 表示祖鲁时区,所以我强制测试时间如下
2015-11-02T00:00:00Z
我仍然遇到同样的错误..
IndexerEnv::putRangeIndex: XDMP-RANGEINDEX: Range index error: date "2015-11-02T00:00:00Z": XDMP-LEXVAL: Invalid lexical value "2015-11-02T00:00:00Z"
这里有什么问题吗?还有另一个问题,只有当我们在日期中添加 'Z'(祖鲁时区)时,Marklogic 才理解日期吗?
谢谢
您的范围索引是否使用正确的数据类型创建?
该错误告诉我您已经创建了日期数据类型的范围索引,并且您试图将日期时间推入日期范围。 尝试将范围索引的定义从日期类型更改为日期时间类型。
HTH,
彼得
谢谢大家,找到我的错误了..
对于 xs:string
以外的类型,我不应该将排序规则参数添加到排序顺序中。将其更改为
<sort-order type="xs:dateTime" collation="http://marklogic.com/collation/" direction="ascending">
<field name="concept_createdDate"/>
</sort-order>
到
<sort-order type="xs:dateTime" direction="ascending">
<field name="concept_createdDate"/>
</sort-order>
一切正常