我使用elasticsearch存储XBRL JSON。
This xBRL-JSON OIM spec描述了oim:period
属性:
否则,ISO 8601时间间隔代表{interval} 财产,以下列形式之一表示:
<开始> /<端>
<开始> /<持续时间>
<持续时间> /<端>
其中< start>和< end>根据xsd:dateTime数据类型和< duration>有效根据xsd:duration。
有效
arelle's plugin的示例如下所示:
我注意到arelle的插件专门生成这种格式:
我的问题
有没有办法在弹力搜索中至少保存<start>
部分作为日期类型?
我的想法:
仅elastichsearch(我的偏好)
/<duration>
部分的自定义日期格式,但忽略它
PT0S
和P1Y
)?yyyy'/P'
将接受值'2015 / P'。但是,其余的持续时间可能会更加动态P
之后的可能变体吗? /<duration>
部分,然后仅保存<start>
作为日期时间。但我不知道字符过滤器是否在保存之前发生了类型:日期。如果他们不这样做,'/`部分不会被剥离,我也不会传递有效的日期字符串。/
上拆分,并且至少这两个部分将另存为单独的标记。但是,不能使用日期数学。copy_to
的内容,但这似乎是结合条款,我希望打破这个术语更改我的应用程序(如果可能,我更喜欢使用仅限弹性搜索的技术)
<start>
和<end>
部分,并将两者保存到单独的字段中;
PT0S
例子)可能很尴尬;我想我只使用end
属性的相同值作为start
属性...我猜不会比0长度持续时间(PT0S
更尴尬)。答案 0 :(得分:1)
不是直接的答案,但值得注意的是xBRL-JSON规范的最新内部草案已经远离单字段表示。虽然“/”分隔符号是ISO标准,但它的工具支持似乎非常差,因此工作组选择切换到开始日期和结束日期的单独字段。我希望Arelle支持会在适当的时候跟进。