Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra边界框搜索_Cassandra_Cassandra 2.0 - Fatal编程技术网

Cassandra边界框搜索

Cassandra边界框搜索,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,我希望使用Cassandra进行附近的搜索类型查询。根据我的lon/lat坐标,我想检索最近的点。我不需要100%的准确度,所以我可以轻松地使用边界框而不是圆(性能也更好),但我找不到具体的说明(希望有一个示例)如何实现边界框。根据我的经验,在Cassandra之上进行通用地理空间索引搜索并不容易。我相信你只有两个选择: ,将数据集拆分为方形/矩形元素:例如,使用lat/lon的整数部分作为网格中的索引。在执行搜索时,您可以加载封闭网格元素中的所有元素,并在应用程序中执行完整的邻居扫描 如果

我希望使用Cassandra进行附近的搜索类型查询。根据我的lon/lat坐标,我想检索最近的点。我不需要100%的准确度,所以我可以轻松地使用边界框而不是圆(性能也更好),但我找不到具体的说明(希望有一个示例)如何实现边界框。

根据我的经验,在Cassandra之上进行通用地理空间索引搜索并不容易。我相信你只有两个选择:

  • ,将数据集拆分为方形/矩形元素:例如,使用lat/lon的整数部分作为网格中的索引。在执行搜索时,您可以加载封闭网格元素中的所有元素,并在应用程序中执行完整的邻居扫描

    • 如果你有一个均匀分布的数据集,就像我在模拟中的网格点一样,效果很好
    • 在像“美国餐馆”这样的数据集上效果很差,在那里,大多数点都聚集在大城市周围。在不同的网格元素(如纽约地区)上会有不平衡的高负载,而在大西洋的某个地方会有绝对空的索引桶
  • 外部索引,如//Sphinx/等

    • 它们都具有现成的地理空间索引支持,无需在应用程序层中开发自己的索引
    • 您必须设置一个单独的索引服务,并保持cassandra/索引数据同步。有一些cassandra/搜索集成,比如(商业的),(我从来没有听说有人在生产中使用这个),或者你可以自己开发,但所有这些都需要时间和精力

2014年的欧洲卡桑德拉峰会触及了这个问题

演示者解释了如何使用用户定义的类型创建空间索引,该类型非常适合使用基于区域或边界框的查找来查询地理空间数据


一般的想法是将数据分解为由边界框定义的区域。然后,每个区域代表一个行键,您可以使用该行键访问与该区域关联的任何数据。如果您有一个感兴趣的位置,可以查询该区域内区域的键空间

你已经设计好数据模型了吗?没有,我还没有模型。