因为只针对国内用户,其他国家都不需要。这样生成的xdb会小一点。老版本的时候就是自己去除了不需要的ip然后再生成db文件。但是新版,如果修改了ip.merge.txt文件,在执行生成xdb的时候就报错,说是数据不连续。看了文档,有编辑数据的说明,我清空了原来的ip.merge.txt文件,然后执行
./xdb_maker edit --src=./ip.merge.txt
editor>> put 36.132.128.0|36.132.147.255|中国|0|黑龙江省|哈尔滨市|移动
报错,failed to Put(36.132.128.0|36.132.147.255|中国|0|黑龙江省|哈尔滨市|移动): failed to find the related segment
请问,要如何才能只保留某个国家的ip呢?
这个处理还是比较方便,逐行处理下 ip.merge.txt,region 信息只保留国家,然后再合并下数据段即可。编辑器需要 ip.merge.txt 有数据,不能清空
我把ip.merge.txt逐行处理了,所有格式都变为:
1.0.0.0|1.0.0.255|澳大利亚|0|0|0|0
36.132.128.0|36.132.147.255|中国|0|0|0|0
1.0.64.0|1.0.79.255|日本|0|0|0|0
都只保留了国家,后面的都变为0,保存为ip.new.txt
处理完之后,执行
./xdb_maker edit --src=./ip.merge.txt
editor>> put_file ../ip.new.txt
跑了一小段时间提示
PutFile(../ip.new.txt): Ok, with 683804 deletes and 158273 additions
执行保存
*editor>> save
all segments saved to ../ip.merge.txt
editor>> quit
最后合并后的ip.merge.txt文件由原来41M变成了7M。
执行生成数据xdb,生成的文件由原来的11.1M变成3.5M
验证正确性,结果如下:
./xdb_maker bench --db=./ip2region.xdb --src=../ip.merge.txt
Bench finished, {count: 791565, failed: 0, took: 11.61856989s}
请问,我上面操作是否正确?
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
社区群有人做过只保留 ISP
登录 后才可以发表评论