我在一个项目中使用GeoLite进行IP位置识别,并且在升级到GeoLite2时,我在GeoLite和GeoLite2的城市数据库中发现了一些差异。与GeoLite-Cities相比,GeoLite2-Cities中的城市数量似乎更少。
由于GeoLite2中没有LookupService,因此我必须实现LookupService。在执行升级时,我需要用于过滤IP的现有数据才能与新的GeoLite2数据库一起使用。
是否可以在不破坏现有功能的情况下执行此升级,即可以将这些已经存在的“国家/地区/城市” IP过滤器映射到GeoLite2-City数据库中存在的有效“国家/地区/城市”值吗?
此外,我发现了一个stackoverflow帖子,其中提到在何处下载“国家/地区/城市”数据库:Country/Region/City DB(来自GeoNames.org)
我相信上述数据库比GeoLite网站https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz中提供的数据库更完整。这是否意味着只有在GeoLite2数据库(由Maxmind提供)中找到的那些条目才具有映射到其的有效IP,而其中缺少的条目将没有分配任何有效的IP地址?
我应该使用Maxmind还是GeoNames.org提供的城市数据库?
无论哪种情况,由于GeoLite db和GeoLite2 db之间会有一些不匹配,如何将旧的Country / Region / City映射到GeoLite2 db中存在的国家/地区/城市?