在Orion Context Broker中按属性值过滤不起作用

时间:2016-09-29 08:21:50

标签: fiware fiware-orion

我不明白为什么但是在某些情况下过滤器不起作用。 以下是我的例子:

  

/ V2 /实体类型=停车场&安培; Q =名==停车场+蒂娜+巴利切+克拉科夫&安培;选项=键值

返回:

[
  {
    "id": "15217701",
    "type": "carparks",
    "agglomerations": "1",
    "name": "Parking Tina Balice Krakow"
  }
]

上面的示例工作正常,但第二个查询不起作用:

  

/ V2 /实体类型=停车场&安培; Q =结块== 1

此查询返回空字符串。

如何过滤掉这种情况:

  

type = carparks and agglomerations == 1

这个对象?

马:

  

版本":" 1.2.0"

1 个答案:

答案 0 :(得分:1)

网址查询中的空格需要使用+%20进行正确编码。看看to this document

因此,试试这种方式

/v2/entities?type=carparks&q=name==Parking+Tina+Balice+Krakow&options=keyValues

或其他

/v2/entities?type=carparks&q=name==Parking%20Tina%20Balice%20Krakow&options=keyValues

编辑关于

  

/ V2 /实体类型=停车场&安培; Q =结块== 1

请注意agglomerations是一个字符串,而默认情况下,等号过滤搜索数字(当然,当搜索的值是数字时)。因此,您有两种选择:

  1. 强制使用单引号将值解释为字符串:

    /v2/entities?type=carparks&q=agglomerations=='1'
    
  2. 使用agglomerations的数值创建/更新实体。这个选项可能更有意义,因为我理解聚集语义是数字性的。