Phonograph数据过滤疑问:如何获取全状态数据?
解决Palantir Phonograph获取全状态数据的问题
你之前用status:('')尝试获取全状态数据没返回结果,是因为这个写法是在过滤status字段为空字符串的记录,而非所有状态的记录。要拿到全量数据,按以下两种方式调整即可:
方案1:移除Filter字段(推荐)
直接删除请求中的filter部分,这样查询会返回指定表的所有数据:
{"extractors": {"result": "$"},"headers": {},"method": "POST","path": "search/tables","pathParams": {},"queryParams": {},"bodyJson": {"tableRids": ["mytablerid"]}}
方案2:使用MatchAll过滤器(需保留Filter结构时)
如果业务要求必须保留filter节点,可使用matchAll类型的过滤器,它会匹配所有数据:
{"extractors": {"result": "$"},"headers": {},"method": "POST","path": "search/tables","pathParams": {},"queryParams": {},"bodyJson": {"tableRids": ["mytablerid"],"filter": {"type": "matchAll"}}}
补充说明
status:('OK')是精确匹配status值为"OK"的记录,同理status:('')只会匹配status为空字符串的条目,这和你要的"全状态"逻辑完全不同。- 移除filter是最简洁的全量查询方式,而
matchAll是Phonograph中标准的全量匹配过滤器类型。
内容的提问来源于stack exchange,提问作者Nabs335
相关产品推荐
相关产品推荐

