Geo-Suche bauen und mit Lagequalität ranken
Standard Geo-Filter (PostGIS, Elasticsearch) mit GeoSci-Ratings als Ranking-Features kombinieren. So fließt Nachbarschaftsqualität ins Ranking.
- PostGIS & Elasticsearch
- Ranking-Features
- Erklärbare Ergebnisse
Das Problem
Viele Teams starten bei "Wie baue ich Geo-Search in PostGIS/Elasticsearch?" — mit ST_DWithin für Radiusfilter und geo_distance in Elasticsearch. Danach kommt die Frage: "Wie fließt Nachbarschaftsqualität ins Ranking?"
Wie GeoSci hilft
GeoSci-Ratings liefern numerische Scores pro Standort, die direkt als Ranking-Features genutzt werden können. Statt nur nach Entfernung zu sortieren, können Suchergebnisse nach Lagequalität gewichtet werden.
Architektur-Pattern
- Geo-Filter: PostGIS
ST_DWithinoder Elasticsearchgeo_distancefür Radius-/Bounding-Box-Filter. - Feature Enrichment: GeoSci-Ratings pro Objekt abrufen und als zusätzliche Spalten/Felder speichern.
- Ranking: Gewichtete Kombination aus Geo-Distance + GeoSci-Scores als Ranking-Signal.
- Explainability: Score-Breakdown pro Treffer anzeigen, basierend auf GeoSci-Subratings und POIs.
API-Beispiel
# Ratings für eine Koordinate — Scores direkt als Ranking-Features nutzbar
curl "https://api.geosci.de/places/13.405,52.52/ratings" \
--header "Authorization: Apikey $GEOSCI_API_KEY" Response (Auszug) — jeder Score ist direkt als Ranking-Feature nutzbar:
{
"ratings": [
{ "name": "shopping", "score": 8.2 },
{ "name": "public_transport", "score": 9.1 },
{ "name": "restaurants", "score": 7.4 },
{ "name": "noise_day", "score": 3.8 },
{ "name": "family_friendliness", "score": 6.5 }
]
} Scores reichen von 0 (schlechtester) bis 10 (bester Wert). Direkt als gewichtete Features in der Such-Ranking-Formel nutzbar.