由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教一下geohash的实现
相关主题
How to Search Users within 50 miles away from mesearch engine需要哪些prerequisite课程?
请教算法题学search engine哪种语言最有用?
load一个巨大的k-v table到一个view里,有搜索功能 怎么设计?算法求教
Google Chrome Native Client请教一个跟search中用到的auto suggestion问题
学scala从akka入手就可以了话说莫言也不会几国外语
请教各位,nutch(lucene)的index用lucene.net可以搜索吗?请问有什么好的开源中英文搜索引擎?
firtex vs lucene vs lemur与其无意义的争论,不如干点实事
想搭一个搜索引擎,哪种open source的crawler最好? (转载)有人用过PyLucene吗
相关话题的讨论汇总
话题: geohash话题: wx4g0ec1话题: wx4话题: wx话题: 实现
进入Programming版参与讨论
1 (共1页)
a****i
发帖数: 1182
1
怎么在一个分布系统保存和读取geohash
比如说有个event在 wx4g0ec1,显然它也在w, wx, wx4...里
具体实现的时候,每一级geohash都会指向这个event,w -> "wx4g0ec1"
wx -> "wx4g0ec1" ...
还是说上一级只需要指向下一级就可以? w -> wx -> wx4 ... -> "wx4g0ec1"
在读取的时候又怎么做呢?比如说读最新的十个event,在某个location范围
zoom in/out
d****n
发帖数: 12461
2
我猜是直接指向。要不然怎么做统计,例如统计wx4下面的全部事件?

【在 a****i 的大作中提到】
: 怎么在一个分布系统保存和读取geohash
: 比如说有个event在 wx4g0ec1,显然它也在w, wx, wx4...里
: 具体实现的时候,每一级geohash都会指向这个event,w -> "wx4g0ec1"
: wx -> "wx4g0ec1" ...
: 还是说上一级只需要指向下一级就可以? w -> wx -> wx4 ... -> "wx4g0ec1"
: 在读取的时候又怎么做呢?比如说读最新的十个event,在某个location范围
: zoom in/out

F****n
发帖数: 3271
3
geohash是给没有spatial data structure的检索系统用的
比如说你只能用一个全文本的搜索引擎,geohash可以用来mimic spatial indexing
你可以把event wx4g0ec1 用所有的prefixes(w, wx, wx4...)索引
这样对任何一级的搜索都能找到
但是如果你自己build一个搜索系统,没有必要用geohash
geohash就是一个很蹩脚的quadtree(essentially a trie), 并不efficient,
应该直接上spatial data structure.
一般来说r-tree is the best.

【在 a****i 的大作中提到】
: 怎么在一个分布系统保存和读取geohash
: 比如说有个event在 wx4g0ec1,显然它也在w, wx, wx4...里
: 具体实现的时候,每一级geohash都会指向这个event,w -> "wx4g0ec1"
: wx -> "wx4g0ec1" ...
: 还是说上一级只需要指向下一级就可以? w -> wx -> wx4 ... -> "wx4g0ec1"
: 在读取的时候又怎么做呢?比如说读最新的十个event,在某个location范围
: zoom in/out

N*****m
发帖数: 42603
4
有一个好处,是比较适合KV-store。比如,redis natively支持。

【在 F****n 的大作中提到】
: geohash是给没有spatial data structure的检索系统用的
: 比如说你只能用一个全文本的搜索引擎,geohash可以用来mimic spatial indexing
: 你可以把event wx4g0ec1 用所有的prefixes(w, wx, wx4...)索引
: 这样对任何一级的搜索都能找到
: 但是如果你自己build一个搜索系统,没有必要用geohash
: geohash就是一个很蹩脚的quadtree(essentially a trie), 并不efficient,
: 应该直接上spatial data structure.
: 一般来说r-tree is the best.

F****n
发帖数: 3271
5
就是给lookup table型的索引用的
类似trick一维也有, lookup table不支持range query (e.g., b-tree)
但可以把数据转成整数然后encode成trie, 然后index所有prefixes
Lucene的range query基本上就是这么实现的

【在 N*****m 的大作中提到】
: 有一个好处,是比较适合KV-store。比如,redis natively支持。
1 (共1页)
进入Programming版参与讨论
相关主题
有人用过PyLucene吗学scala从akka入手就可以了
一个网站里的search功能,是在search这个网站的database,还是象IDE里面的search workspace?请教各位,nutch(lucene)的index用lucene.net可以搜索吗?
请大牛来谈谈对Solr的看法firtex vs lucene vs lemur
从版上的讨论想到开源项目想搭一个搜索引擎,哪种open source的crawler最好? (转载)
How to Search Users within 50 miles away from mesearch engine需要哪些prerequisite课程?
请教算法题学search engine哪种语言最有用?
load一个巨大的k-v table到一个view里,有搜索功能 怎么设计?算法求教
Google Chrome Native Client请教一个跟search中用到的auto suggestion问题
相关话题的讨论汇总
话题: geohash话题: wx4g0ec1话题: wx4话题: wx话题: 实现