Is this an advertisement for S2? there is no description of alternatives, of how the choice was made, no comparison to any other system or provider, ... Redis has geo search for example, why not using it?
Geosharded Recommendations with Hilbert Curve at Tinder
41–47 of 47 posts
Re: Geosharded Recommendations with Hilbert Curve at Tinder
#42Very interesting. Used to do something similar for a project I work on. Used geohash based sharding, instead of complex curves like that. Worked great, but with recent advances in ES its no longer needed. They don't seem to mention which version of ES they are on, and would be curious how it has changed over time in their experience.
Re: Geosharded Recommendations with Hilbert Curve at Tinder
#43Why not Z-order curve instead? Hilbert is more complex to compute...
They mentioned the distortion near the poles when using geohashing (which uses z-order curves), but I doubt they have many users at the North or South Pole.
Re: Geosharded Recommendations with Hilbert Curve at Tinder
#44Let me share my experience building location based search at Qbix. All of it is available now for free in the Places plugin: https://github.com/Qbix/Platform/tree/master/platform/plugin... First of all, we normally do our sharding by the hash of the primary key. Typically it is the publisherId and hash of the name of a “stream”, which is our general dynamic data structure. What this does is essentially distribute the…
Elasticsearch has geo-indexing as well(based on geohash internally), and by default it does id hashing similar to what you said(murmurhash3), we actually leverages that for location based searches.
The challenge addressed in the blog is not in how to search/address(as said Elasticsearch handles it already), it is about how to distribute the load so calculation only happens on limited nodes, and reduce the index size so it can be more performant.
Re: Geosharded Recommendations with Hilbert Curve at Tinder
#45Let me share my experience building location based search at Qbix. All of it is available now for free in the Places plugin: https://github.com/Qbix/Platform/tree/master/platform/plugin... First of all, we normally do our sharding by the hash of the primary key. Typically it is the publisherId and hash of the name of a “stream”, which is our general dynamic data structure. What this does is essentially distribute the…
Thanks for sharing EGreg. Elasticsearch has geo-indexing as well(based on geohash internally), and by default it does id hashing similar to what you said(murmurhash3), we actually leverages that for location based searches. The challenge addressed in the blog is not in how to search/address(as said Elasticsearch handles it already), it is about how to distribute the load so calculation only happens on limited nodes,…
In the scheme above, by the way, it DOES localize searches on one shard. Essentially all relations to a stream are on the same shard as the stream. And each center+radius has one associated stream and therefore the search takes place on one shard.
Re: Geosharded Recommendations with Hilbert Curve at Tinder
#46Earlier quoted context omitted.
The bigger problem is when people comment and even discuss the title without reading the article. It's extremely common on Reddit but luckily less prevalent on Hacker News .
...if paywalled then at least you know some people at least tried to read the article because they comment about the paywall. Everyone else a) paid their way (as if), b) got a free pass as they don't generally read articles, c) used that new trick for bypassing the article that only people who read articles know about or d) just blurted their opinion without reading the article. I know there have been changes on the…