Redis Cities Data Store
收藏资源简介:
一个预构建的Redis数据存储,包含32,000多个世界城市数据,提供全文搜索、地理查询和高级过滤功能。数据集来自GeoNames数据库(人口15,000+的城市),包含城市名称、替代名称、地理坐标、人口、海拔、国家代码和行政区划信息
A pre-built Redis data store housing over 32,000 global city datasets, which provides full-text search, geospatial querying, and advanced filtering functionalities. This dataset is sourced from the GeoNames database, targeting cities with a population of 15,000 or above, and encompasses details including city names, alternate names, geographic coordinates, population counts, elevation, country codes, and administrative division information.
Redis Cities Data Store 数据集概述
数据集基本信息
- 数据来源:GeoNames数据库
- 数据规模:32,258个城市(人口15,000+)
- 数据格式:Redis JSON文档
- 主要用途:地理位置查询、全文搜索和高级过滤
核心功能特性
- 全文搜索:支持城市名称和替代名称的全文检索
- 地理查询:支持半径搜索和边界框搜索
- 高级过滤:支持按人口、海拔、国家、行政区划进行筛选
- 快速查询:基于Redis内存架构,实现亚毫秒级搜索性能
数据结构与字段
主要搜索字段
| 字段名 | 类型 | 描述 | 示例 |
|---|---|---|---|
id |
TAG | GeoNames唯一标识符 | "2988507" |
name |
TEXT | 主要城市名称 | "Paris" |
ascii_name |
TEXT | ASCII版本名称 | "Paris" |
alternate_names |
TEXT | 多语言替代名称 | "Париж,パリ,巴黎" |
country_code |
TAG | ISO国家代码 | "FR" |
admin1 |
TAG | 州/省代码 | "11" |
admin2 |
TAG | 县/地区代码 | "75" |
population |
NUMERIC | 人口数量 | 2161000 |
latitude |
NUMERIC | 地理坐标 | 48.85341 |
longitude |
NUMERIC | 地理坐标 | 2.3488 |
location |
GEO | 地理查询坐标 | "2.3488,48.85341" |
elevation |
NUMERIC | 官方海拔高度(米) | 42 |
dem |
NUMERIC | 数字高程模型值 | 42 |
timezone |
TAG | 时区标识符 | "Europe/Paris" |
feature_code |
TAG | 地点分类 | "PPLC" |
查询示例
文本搜索
bash FT.SEARCH cities_idx "@name:New" LIMIT 0 10 FT.SEARCH cities_idx "@alternate_names:東京"
地理查询
bash FT.SEARCH cities_idx "@location:[139.6917 35.6895 50 km]"
人口与海拔过滤
bash FT.SEARCH cities_idx "@population:[1000000 +inf]" FT.SEARCH cities_idx "@dem:[1500 +inf]" FT.SEARCH cities_idx "@dem:[0 50]"
行政区划过滤
bash FT.SEARCH cities_idx "@country_code:{US} @admin1:{CA}" FT.SEARCH cities_idx "@country_code:{FR} @admin1:{11}"
技术架构
- 数据存储:Redis JSON文档
- 索引引擎:RediSearch模块
- 部署方式:Docker容器化部署
- 构建方式:多阶段Docker构建
适用场景
- 基于位置的服务
- 地理参考数据应用
- 旅行和地图应用
- 人口统计分析
- 气候和海拔研究
- 行政区划边界查询
性能特点
- 32,258个城市已加载和索引
- 亚毫秒级搜索查询
- 支持地理半径搜索
- 支持多语言全文搜索
- 支持多过滤器复合查询
许可信息
- 项目开源
- 城市数据由GeoNames根据知识共享署名3.0许可提供




