GeoSpatial Search
GeoSpatial search is about searching/querying for a point, line or polygon in space. There are spatial databases which are solely for those, but many other databases provide libraries that aid in doing spatial searches.
DataStax Enterprise (DSE) uses Cassandra as the underlying database but provides the spatial search functionality via Apache SOLR integration.
Elasticsearch is another key technology that provides spatial search capability.
Apache Lucene is the underlying technology for both of the above: SOLR and Elasticsearch. To know more about Solr and Elasticsearch, head over to my other article: https://medium.com/@bschandramohan/apache-solr-elastisearch-e8a818cf3a2a
Apart from Lucene, there are also ways to directly do spatial searches using a concept called GeoHash.
What’s Geohash?
To play around with it, you can use:
Good Article for how to use geohash:
Nearby locations generally have similar prefixes, though not always: there are edge-cases straddling large-cell boundaries; in France, La Roche-Chalais (u000) is just 30km from Pomerol (ezzz). A reliable prefix search for proximate locations will also search prefixes of a cell’s 8 neighbours. (e.g. a database query for results within 30-odd kilometres of Pomerol would be
SELECT * FROM MyTable WHERE LEFT(Geohash, 4) IN ('ezzz', 'gbpb, 'u000', 'spbp', 'spbn', 'ezzy', 'ezzw', 'ezzx', 'gbp8')
.
https://en.wikipedia.org/wiki/Geohash#Number_of_geohash_characters_and_precision_in_km shows the precision for each character in the geohash.