CNode

关于sphinx/coreseek搜索的一个小技巧

Oolddog发布于14 年前最后回复14 年前2 回复7136 浏览0 收藏

之前我们在做范围查询的时候,总会用到如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)

J
jin52yang#1·14 年前

消灭零回复

D
dotlife#2·14 年前

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

参与回复
登录后即可参与回复。登录