mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-26 06:22:13 +03:00
introduce index for finding surrounding buildings
This commit is contained in:
parent
a73711f3cd
commit
1b1ed820c3
@ -26,8 +26,9 @@ BEGIN
|
|||||||
FROM placex
|
FROM placex
|
||||||
WHERE ST_Covers(geometry, p.centroid)
|
WHERE ST_Covers(geometry, p.centroid)
|
||||||
and geometry && p.centroid
|
and geometry && p.centroid
|
||||||
|
and placex.address is not null
|
||||||
and (placex.address ? 'housenumber' or placex.address ? 'street' or placex.address ? 'place')
|
and (placex.address ? 'housenumber' or placex.address ? 'street' or placex.address ? 'place')
|
||||||
and rank_search > 28 AND ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon')
|
and rank_search = 30 AND ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon')
|
||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
RAISE WARNING 'other address for % %: % (%)', p.osm_type, p.osm_id, address, p.centroid;
|
RAISE WARNING 'other address for % %: % (%)', p.osm_type, p.osm_id, address, p.centroid;
|
||||||
END IF;
|
END IF;
|
||||||
|
@ -154,6 +154,10 @@ CREATE INDEX idx_placex_osmid ON placex USING BTREE (osm_type, osm_id) {{db.tabl
|
|||||||
CREATE INDEX idx_placex_linked_place_id ON placex USING BTREE (linked_place_id) {{db.tablespace.address_index}} WHERE linked_place_id IS NOT NULL;
|
CREATE INDEX idx_placex_linked_place_id ON placex USING BTREE (linked_place_id) {{db.tablespace.address_index}} WHERE linked_place_id IS NOT NULL;
|
||||||
CREATE INDEX idx_placex_rank_search ON placex USING BTREE (rank_search, geometry_sector) {{db.tablespace.address_index}};
|
CREATE INDEX idx_placex_rank_search ON placex USING BTREE (rank_search, geometry_sector) {{db.tablespace.address_index}};
|
||||||
CREATE INDEX idx_placex_geometry ON placex USING GIST (geometry) {{db.tablespace.search_index}};
|
CREATE INDEX idx_placex_geometry ON placex USING GIST (geometry) {{db.tablespace.search_index}};
|
||||||
|
CREATE INDEX idx_placex_geometry_buildings ON placex
|
||||||
|
USING GIST (geometry) {{db.tablespace.search_index}}
|
||||||
|
WHERE address is not null and rank_search = 30
|
||||||
|
and ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon');
|
||||||
CREATE INDEX idx_placex_geometry_placenode ON placex
|
CREATE INDEX idx_placex_geometry_placenode ON placex
|
||||||
USING GIST (geometry) {{db.tablespace.search_index}}
|
USING GIST (geometry) {{db.tablespace.search_index}}
|
||||||
WHERE osm_type = 'N' and rank_search < 26
|
WHERE osm_type = 'N' and rank_search < 26
|
||||||
|
Loading…
Reference in New Issue
Block a user