为什么Orion Context Broker不会返回带有模式表达式的查询所期望的所有实体?

时间:2014-07-07 07:11:17

标签: fiware-orion fiware fiware-wirecloud

几天前,当我使用正则表达式向Orion上下文代理发出查询时,响应包括与该正则表达式匹配的所有实体,现在只检索旧实体的数据,如果我想访问最新的实体实体,我需要使用更具体的正则表达式发出另一个请求。

问题在于,现在我需要使用不同的正则表达式创建两个不同的查询来检索旧实体和新实体,这在一周之前我只需要使用最通用的正则表达式。

想象一下我的实体的id的结构是:

  • dev的:name_proyect:name_object:的name_service

前几天我只需要这个通用表达式来检索所有数据:

  • dev的:name_proyect:*

现在我需要两个查询来获得相同的结果:

  • dev:name_proyect:。* - >响应仅包括旧实体
  • dev:name_proyect:name_object:。* - >响应仅检索新数据

那么,正则表达式的使用在Orion CB中有所改变吗?我现在需要做一些其他事情,只用一个具有最通用正则表达式的查询来检索所有数据吗?

我正在使用的猎户座实例是: http://orion.lab.fi-ware.eu:1026

1 个答案:

答案 0 :(得分:1)

请注意,自0.14.0开始,Orion实现了分页,详细信息在the corresponding section in the user manual中进行了描述。

queryContext(以及相关的便捷操作)检索的实体数量的默认限制为20。如果要增加该限制,请使用limit URI参数,例如

POST http://orion.lab.fi-ware.eu:1026/ngsi10/queryContext?limit=200

绝对最大限制为1,000。如果查询覆盖超过1,000个结果,则客户端必须使用偏移参数检索多个链式请求中的数据(请参阅上述参考中的详细信息)。

您可以使用details参数获取查询覆盖的实体数量的提示,例如:

POST http://orion.lab.fi-ware.eu:1026/ngsi10/queryContext?details=on
...
"errorCode": {
   "code": "200",
   "details": "Count: 2342",
   "reasonPhrase": "OK"
}