关于sphinx/coreseek搜索的一个小技巧
发布于 3年前 作者 olddog 1812 次浏览

之前我们在做范围查询的时候,总会用到如limestone或者node-sphinxapi这两个模块。但是前者功能太少而且基本不更新了,后者的作者现在忙于解决utf8搜索不返回结果的问题,暂时不好不用。经过查找资料,还是适用sphinxql比较简单

  如:搜索以某坐标为中心500米范围内的小萝莉的查询语句为


  SELECT *,GEODIST(latitude, longitude, 39.98241, 116.29624) AS geodist FROM xml WHERE MATCH("萝莉") AND geodist <= 500.0 ORDER BY geodist ASC

 其中GEODIST的参数为(坐标纬度字段名, 坐标经度字段名, 坐标纬度, 坐标经度)。 其运算结果经度为米 

补充个别的,如果要从mongodb中获取大量数据(我测试是150w条),如果使用mongoose,会因为内存分配问题卡住。用mongoskin则不会有这个问题。

2 回复

消灭零回复

同时取150W数据到内存,这是什么需求?

回到顶部