#community-help

Geo Shape Indexing in TypeSense: Proposed Features and Integration

TLDR Timon requested for geo shape indexing on TypeSense, a feature found in Elasticsearch. Kishore Nallan acknowledged that the feature could be implemented with user assistance for API design and testing.

Powered by Struct AI

1

Dec 11, 2021 (25 months ago)
Timon
Photo of md5-047f1a87663ea0dcc43a01fc89a14f08
Timon
01:03 PM
Hi! First, I want to thank the maintainers for this awesome tool! I really love how easy it is to install and use TypeSense. Currently, you support operations on geo points. Is indexing geo shapes such as polygons with operations like the one offered by Elasticsearch (point within Polygon, intersecting Polygons...) on your roadmap? Do you have plans to integrate it?
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
01:09 PM
👋 Timon Sorry I think I missed responding to your (?) earlier comment on this feature request which had been created earlier: https://github.com/typesense/typesense/issues/421

We will be happy to add this to our short term roadmap if you have an immediate use case for this and can work closely with us to develop these additional geo features 🙂
Timon
Photo of md5-047f1a87663ea0dcc43a01fc89a14f08
Timon
01:36 PM
Kishore Nallan I appreciate the prompt response. Indeed, this is me :=). I would love to help you on this feature. To explain my use-case: Imagine indexing polygons in TypeSense (for me, these are geo administrative boundaries). The operation I would like to apply is to throw a geopoint at TypeSense and filter all polygons out that do not include this geo point (kind of the reverse what is possible now: filter geopoints with a polygon). In Elasticsearch this is called "WITHIN". Sadly, I have no cpp experience. But I can do some research on indexing strategies (quadtree etc) and write a proposal for it. But maybe you are experienced in geospatial indexing?
Kishore Nallan
Photo of md5-4e872368b2b2668460205b409e95c2ea
Kishore Nallan
03:01 PM
Thanks for explaining! We can implement this with the current library we are using so certainly it should not be too difficult. Your inputs on the API design and testing on your dataset should be sufficient support for us!

1