Combined Spatial and Text search/indexing #2479
Replies: 3 comments 2 replies
-
|
@recalcitrantsupplant Here is the documentation regarding QLever's current GeoSPARQL support: https://docs.qlever.dev/geosparql Regarding efficiency, there is a lot to say and we should take it one at a time. QLever's core spatial library is extremely efficient. But its integration into QLever is not completed yet. An example of a query that is very fast already now (all streets in Australia, click on "Analyze" to see the progress while the query is computing): https://qlever.dev/osm-planet/WvzjIg Do you have a very concrete example of a (simple) query that you think should be fast but it's currently not? |
Beta Was this translation helpful? Give feedback.
-
|
PS: I just saw that your original post already contained some queries. It would be good to have the dataset on which these queries work. And it would be good to simplify the queries. Almost always, when a query is slow or does not work, you can reproduce that behavior with a relatively simple query |
Beta Was this translation helpful? Give feedback.
-
|
@recalcitrantsupplant Did you also read my previous comment, regarding https://docs.qlever.dev ? The use case you mention (display all objects that match a keyword and are contained in a given viewport) should work fine with QLever already now. And we are currently working on some improvements that should make this kind of query super fast. There are some peculiarities in the queries from your first comment in this thread. First, prefixes would help to make the queries much more readable. Second, you are using the same |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I've been playing with text and spatial datasets - the performance of the text search has been great, for the spatial I've had mixed results.
I got combined spatial and text filtering to work, but I had to run the indexer twice, once with
on-disk-compressed-geo-splitand another time withVOCABULARY_TYPE = "on-disk-compressed" and TEXT_INDEX = from_literals. I then ran qlever start like:qlever start --use-text-index yes. I'm hoping I've overcomplicated this but other methods didn't seem to have both indexes available.So before raising any issues I wanted to clarify what the current status of text and geospatial search is.
My questions are:
My preference is to use GeoSPARQL, as we have applications which generate code in this format, and SERVICE clauses can be a little awkward at times, however I can use whichever format.
I'm happy to contribute some examples to documentation if the future direction of these types of queries is known/can be clarified.
Some example queries I've been using at various points, only for context:
Spatial search with GeoSPARQL - I last tried this some time ago and the performance seemed poor
Non geosparql spatial + text search - from memory this performed well but the text query needed exact matches when multiple words were used. Perhaps trying again with my third query with UNION would work.
Non spatial search - multiple keywords - would be good if there was a way to not need the UNION clauses - I couldn't figure out a way/see any documentation on how to do multiple word searches which didn't require an exact match of all words
Beta Was this translation helpful? Give feedback.
All reactions