元素范围索引中的整数范围是多少
What is the integer range in element range index
我在 property_x
上创建了 range-element-index
,我将 scalar-type
设置为 int
,我想对其执行 jsonPropertyRangeQuery
。但是对于技术上有效的值,它会抛出错误:No decimal element range index for property_x
.
在我执行 jsonPropertyRangeQuery
之前,我检查数字类型是否在整数范围内,就像这样:xdmp.type(100000025131)
和它 return 'integer'
所以我认为它是正确的值,因为 xdmp.type(10000002513100000))
将 return 'double'
.
如何检查该值是否可以在 jsonPropertyRangeQuery
中使用?
将值索引为xs:long
然后就可以无误搜索了:
cts.search(cts.jsonPropertyRangeQuery("property_x", "=", 2147483647))
我认为 JavaScript Number
(以及 MarkLogic 尚未使用的较新版本的 V8,BigInt
)和 [=71] 之间可能存在一些混淆和问题=] xs:int
和 xs:integer
、xs:long
、xs:unsignedLong
等的架构数值类型和范围
不过,xdmp.type(100000025131)
returns integer
和 parseInt('100000025131') === 100000025131
returns true
.
xs.int('100000025131')
(最大值为 2147483647
)抛出:
[javascript] XDMP-CAST: function bound ()() -- Invalid cast: "100000025131" cast as xs.int
xs.unsignedInt('100000025131')
(最大值为 4294967295
)抛出:
[javascript] XDMP-CAST: function bound ()() -- Invalid cast: "100000025131" cast as xs.unsignedInt
xs.integer('100000025131')
returns xs.integer
值为 100000025131
xs.long('100000025131')
returns xs.long
值为 100000025131
有一个索引选项为 xs:int
、xs:unsignedInt
、xs:long
和 xs:unsignedLong
,但没有 xs:integer
。
如果你能打开一个 MarkLogic Support ticket 并要求澄清 xdmp.type(100000025131)
报告 integer
的原因,或者可能有(或需要)哪些文件来说明,那就太好了描述简单类型 integer
如何映射到模式类型 xs.integer
、xs.int
、xs.long
等?
我在 property_x
上创建了 range-element-index
,我将 scalar-type
设置为 int
,我想对其执行 jsonPropertyRangeQuery
。但是对于技术上有效的值,它会抛出错误:No decimal element range index for property_x
.
在我执行 jsonPropertyRangeQuery
之前,我检查数字类型是否在整数范围内,就像这样:xdmp.type(100000025131)
和它 return 'integer'
所以我认为它是正确的值,因为 xdmp.type(10000002513100000))
将 return 'double'
.
如何检查该值是否可以在 jsonPropertyRangeQuery
中使用?
将值索引为xs:long
然后就可以无误搜索了:
cts.search(cts.jsonPropertyRangeQuery("property_x", "=", 2147483647))
我认为 JavaScript Number
(以及 MarkLogic 尚未使用的较新版本的 V8,BigInt
)和 [=71] 之间可能存在一些混淆和问题=] xs:int
和 xs:integer
、xs:long
、xs:unsignedLong
等的架构数值类型和范围
不过,xdmp.type(100000025131)
returns integer
和 parseInt('100000025131') === 100000025131
returns true
.
xs.int('100000025131')
(最大值为2147483647
)抛出:[javascript] XDMP-CAST: function bound ()() -- Invalid cast: "100000025131" cast as xs.int
xs.unsignedInt('100000025131')
(最大值为4294967295
)抛出:[javascript] XDMP-CAST: function bound ()() -- Invalid cast: "100000025131" cast as xs.unsignedInt
xs.integer('100000025131')
returnsxs.integer
值为100000025131
xs.long('100000025131')
returnsxs.long
值为100000025131
有一个索引选项为 xs:int
、xs:unsignedInt
、xs:long
和 xs:unsignedLong
,但没有 xs:integer
。
如果你能打开一个 MarkLogic Support ticket 并要求澄清 xdmp.type(100000025131)
报告 integer
的原因,或者可能有(或需要)哪些文件来说明,那就太好了描述简单类型 integer
如何映射到模式类型 xs.integer
、xs.int
、xs.long
等?