X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/c391479c5852f165c4be85b6e39d1290ae2d4a58..8c3a0efe8b75a06279998e66a932d8a56c483961:/sql/partition-tables.src.sql?ds=inline diff --git a/sql/partition-tables.src.sql b/sql/partition-tables.src.sql index 3f400c65..8749243e 100644 --- a/sql/partition-tables.src.sql +++ b/sql/partition-tables.src.sql @@ -1,45 +1,12 @@ -drop type if exists nearplace cascade; -create type nearplace as ( - place_id BIGINT -); - -drop type if exists nearfeature cascade; -create type nearfeature as ( - place_id BIGINT, - keywords int[], - rank_address integer, - rank_search integer, - distance float, - isguess boolean -); - -drop type if exists nearfeaturecentr cascade; -create type nearfeaturecentr as ( - place_id BIGINT, - keywords int[], - rank_address integer, - rank_search integer, - distance float, - isguess boolean, - centroid GEOMETRY -); - drop table IF EXISTS search_name_blank CASCADE; CREATE TABLE search_name_blank ( place_id BIGINT, - search_rank integer, - address_rank integer, - name_vector integer[] + search_rank smallint, + address_rank smallint, + name_vector integer[], + centroid GEOMETRY(Geometry, 4326) ); -SELECT AddGeometryColumn('search_name_blank', 'centroid', 4326, 'GEOMETRY', 2); - -CREATE TABLE location_area_country () INHERITS (location_area_large) {ts:address-data}; -CREATE INDEX idx_location_area_country_geometry ON location_area_country USING GIST (geometry) {ts:address-index}; - -CREATE TABLE search_name_country () INHERITS (search_name_blank) {ts:address-data}; -CREATE INDEX idx_search_name_country_place_id ON search_name_country USING BTREE (place_id) {ts:address-index}; -CREATE INDEX idx_search_name_country_name_vector ON search_name_country USING GIN (name_vector) WITH (fastupdate = off) {ts:address-index}; -- start CREATE TABLE location_area_large_-partition- () INHERITS (location_area_large) {ts:address-data}; @@ -48,20 +15,16 @@ CREATE INDEX idx_location_area_large_-partition-_geometry ON location_area_large CREATE TABLE search_name_-partition- () INHERITS (search_name_blank) {ts:address-data}; CREATE INDEX idx_search_name_-partition-_place_id ON search_name_-partition- USING BTREE (place_id) {ts:address-index}; -CREATE INDEX idx_search_name_-partition-_centroid ON search_name_-partition- USING GIST (centroid) {ts:address-index}; -CREATE INDEX idx_search_name_-partition-_name_vector ON search_name_-partition- USING GIN (name_vector) WITH (fastupdate = off) {ts:address-index}; - -CREATE TABLE location_property_-partition- () INHERITS (location_property) {ts:aux-data}; -CREATE INDEX idx_location_property_-partition-_place_id ON location_property_-partition- USING BTREE (place_id) {ts:aux-index}; -CREATE INDEX idx_location_property_-partition-_parent_place_id ON location_property_-partition- USING BTREE (parent_place_id) {ts:aux-index}; -CREATE INDEX idx_location_property_-partition-_housenumber_parent_place_id ON location_property_-partition- USING BTREE (parent_place_id, housenumber) {ts:aux-index}; +CREATE INDEX idx_search_name_-partition-_centroid_street ON search_name_-partition- USING GIST (centroid) {ts:address-index} where search_rank between 26 and 27; +CREATE INDEX idx_search_name_-partition-_centroid_place ON search_name_-partition- USING GIST (centroid) {ts:address-index} where search_rank between 2 and 25; +DROP TABLE IF EXISTS location_road_-partition-; CREATE TABLE location_road_-partition- ( - partition integer, place_id BIGINT, - country_code VARCHAR(2) + partition SMALLINT, + country_code VARCHAR(2), + geometry GEOMETRY(Geometry, 4326) ) {ts:address-data}; -SELECT AddGeometryColumn('location_road_-partition-', 'geometry', 4326, 'GEOMETRY', 2); CREATE INDEX idx_location_road_-partition-_geometry ON location_road_-partition- USING GIST (geometry) {ts:address-index}; CREATE INDEX idx_location_road_-partition-_place_id ON location_road_-partition- USING BTREE (place_id) {ts:address-index};