参考 > 指标 > geoHaystack 指标 > 创建干草堆索引
干草堆索引必须引用两个字段:位置字段和第二个字段。第二个字段用于精确匹配。Haystack索引根据位置和完全相同的单个附加条件返回文档。这些索引不一定适合将最近的文档返回到特定位置。
要构建干草堆索引,请使用以下语法:
要构建干草堆索引,必须bucketSize
在创建索引时指定该选项。甲bucketSize
的5
创建组位置的值是5个单位指定的经度和纬度的范围内的索引。在bucketSize
还确定索引的粒度。您可以调整参数以适应数据的分布,以便通常只搜索很小的区域。桶定义的区域可以重叠。一个文档可以存在于多个存储桶中。
例
如果您的文档集合中包含与以下内容类似的字段:
以下操作使用存储在1个经度或纬度单位内的密钥的存储桶创建一个干草堆索引。
该索引将文档存储在一个_id
字段中,该字段的值200
在两个不同的存储桶中:
_id
字段的值为100
_id
字段的值为300
要使用干草堆索引进行查询,请使用以下geoSearch
命令。请参阅查询干草堆索引。
默认情况下,使用干草堆索引的查询返回50个文档。