Google maps 融合表过滤条件或

Google maps 融合表过滤条件或,google-maps,google-maps-api-3,google-fusion-tables,Google Maps,Google Maps Api 3,Google Fusion Tables,根据或操作不允许作为过滤条件的一部分。因此,我试图想出一种创造性的方法来解决以下问题: 我有一个有数百个位置的谷歌地图支持的融合表,我想把它过滤到只有“标签”或包含搜索参数的“标题”的地方 理想情况下,我可以使用以下作为过滤条件: tags CONTAINS IGNORING CASE 'searchterm' OR title CONTAINS IGNORING CASE 'searchterm' 但是fusion table API根本不允许这样做。那怎么办呢?进行两次单独的查询,然后过滤

根据或操作不允许作为过滤条件的一部分。因此,我试图想出一种创造性的方法来解决以下问题:

我有一个有数百个位置的谷歌地图支持的融合表,我想把它过滤到只有“标签”或包含搜索参数的“标题”的地方

理想情况下,我可以使用以下作为过滤条件:

tags CONTAINS IGNORING CASE 'searchterm' OR title CONTAINS IGNORING CASE 'searchterm'
但是fusion table API根本不允许这样做。那怎么办呢?进行两次单独的查询,然后过滤掉重复项?这意味着我不能使用漂亮的FusionTablesLayer预渲染平铺功能


您会怎么做?

一个可能的答案是预先呈现表中的数据。本质上添加另一列,它是标记和标题的集合。然后我只需要查询一个“标签”或“标题”列。当然,这意味着当我将数据导出到fusion表中时,会事先进行更多的数据挖掘,感觉不那么好和干净…

在表中添加一个名为“Show_In_Results”的列怎么样

然后运行两个单独的查询,根据搜索词是否在特定列中找到,为每行数据更新该列

UPDATE 'table_id'
SET Show_In_Results = 1

UPDATE 'table_id'
SET Show_In_Results = 1
WHERE tags CONTAINS IGNORING CASE 'searchterm' 

UPDATE 'table_id'
SET Show_In_Results = 1
WHERE title CONTAINS IGNORING CASE 'searchterm' and Show_In_Results <> 1

抱歉,遗漏了第二个where查询的关键部分。现在更新。这将是一个非常有创意的解决问题的方法。我没有选择它的唯一原因是它会给(预期的移动)客户端带来额外的延迟,尽管这可能可以忽略不计。另外,我有点担心,如果多个请求从不同的客户机同时发生,您可能会得到不同步的结果。这就是我最终实现的,在发送到融合表之前,将所有文本预连接到一列实际上不需要太多工作。融合表不允许或查询,也不允许字符串连接,这仍然困扰着我。
SELECT 'columns' FROM 'table_id' WHERE Show_In_Results = 1