我自己的地名库不是很全,想从淘宝的api中采集地名,用到自己的搜索框补全信息中。
http://dujia.trip.taobao.com/ajax/TravelSuggest.htm?q= 这个是接口地址,返回的是json(编码是gb2312,需要先转换下编码)
淘宝的地名提示的匹配方法是模糊匹配法,所以我想尽可能全的采集下来,但估计重复数据会比较大,所以想问下,有没有什么好的思路。谢谢
PHP中文网2017-04-10 14:50:17
推荐直接用第三方的API,地名更新是常态,应该交给成熟的服务去做
例如:百度开放API:
http://developer.baidu.com/map/webservice-placeapi.htm
PHP中文网2017-04-10 14:50:17
你的问题不该是如何偷数据, 而是如何设计搜索系统。
淘宝这个产品地址我没有,就不看了,但是类似的搜索建议有很多入库方案。
典型的,是把地名、景点名、以及他们的拼音,作为同一条记录入库。
格式大概是介个样子、 做上索引、查询毫无压力、
[
'city' => '大连',
'pinyin' => 'dalian',
'view_spot' => [
'1' => 'aaaa',
'2' => 'bbbb',
'3' => 'cccc',
'4' => 'dddd',
'5' => 'eeee'
]
]
上面是你有数据之后,设计的搜索建议数据库部分,作为永久存储的部分,当然也要存一份,方便产品多数地方使用
地名表、
地名_景点表、
景点详情表、