Skip to content

Commit b5ccea6

Browse files
authored
Merge pull request #655 from geoadmin/master
update from Master
2 parents 9afc7ab + e19a8f0 commit b5ccea6

18 files changed

+505
-189
lines changed

.github/workflows/create-milestone.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ jobs:
88
uses: geoadmin/.github/.github/workflows/create-milestone.yml@master
99
secrets: inherit
1010
with:
11-
ci_status_check_name: ''
11+
ci_status_check_name: 'AWS CodeBuild eu-central-1 (service-search-sphinx-pr)'

Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ FROM sphinxsearch_base as sphinxsearch_geodata
2626
# add geodata user, same uid/gid as the EFS owner is needed here
2727
RUN groupadd -r geodata -g 2500 && \
2828
useradd -u 2500 -r -g geodata -s /sbin/nologin --create-home geodata && \
29-
# create mountpoint folders with geodata ownership
29+
# create mountpoint for Amazon EFS CSI driver
30+
install -o geodata -g geodata -d /var/local/ && \
31+
# create mountpoint folder for infra-vhost/k8s ebs/ssd volume
3032
install -o geodata -g geodata -d /var/lib/sphinxsearch/data/index/ && \
31-
install -o geodata -p geodata -d /var/lib/sphinxsearch/data/index_efs/ && \
3233
# change ownerships to geodata which will run the service or the maintenance scripts
3334
# and mount the efs folder
3435
chown -R geodata:geodata /var/run/sphinxsearch/ && \

Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ endif
7373

7474
PPID := $(shell echo $$PPID)
7575

76+
# Docker resosource throttling
77+
# we allow 70% of the currently available memory to be used by sphinx indexer per job
78+
PERCENTAGE := 70
79+
free_mem := $(shell free -m | awk '/Mem:/{print $$4}')
80+
export DOCKER_FREE_MEM := $(shell echo $$(( ${free_mem} * ${PERCENTAGE} / 100 ))m)
81+
7682
# Maintenance / Index Commands
7783
# EFS Index will be mounted as bind mount
7884
# DOCKER_EXEC will always check if a newer image exists on ecr -> develop.latest support
@@ -153,6 +159,7 @@ help:
153159
@echo
154160
@echo "- CPUS: ${YELLOW}${CPUS}${RESET}"
155161
@echo "- DB_ACCESS: ${YELLOW}${DB_ACCESS}${RESET}"
162+
@echo "- DOCKER_FREE_MEM: ${YELLOW}${DOCKER_FREE_MEM}${RESET}"
156163

157164

158165
# Build targets. Calling setup is all that is needed for the local files to be installed as needed.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ This command is executed/triggered by the database deploy script on `geodatasync
5757

5858
### service mode
5959
#### local sphinxsearch server
60-
you can run a local sphinxsearch server on port 913 with the following make targets:
60+
You can run a local sphinxsearch server on port 9312 with the following make targets:
6161
```bash
6262
make dockerrun
6363
make dockerrundebug
@@ -83,4 +83,4 @@ The swisssearch index (zipcodes) has to be computed after a wordforms update.
8383
```bash
8484
cd test
8585
python test.py -h localhost -p 9312 -i swisssearch "birgmattenweg 5"
86-
```
86+
```

conf/bafu.conf.part

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,24 +1173,6 @@ source src_ch_bafu_gewaesser_uferbestockung : def_searchable_features
11731173
from wasser.gewaesser_uferbestockung
11741174
}
11751175

1176-
source src_bafu_lebensraumkarte_schweiz : def_searchable_features
1177-
{
1178-
sql_db = bafu_${DBSTAGING}
1179-
sql_query = \
1180-
SELECT bgdi_id as id \
1181-
, polyid as label \
1182-
, 'feature' as origin \
1183-
, remove_accents(concat_ws(' ', polyid)) as detail \
1184-
, 'ch.bafu.lebensraumkarte-schweiz' as layer \
1185-
, quadindex(the_geom) as geom_quadindex \
1186-
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
1187-
, st_x(st_transform(st_centroid(the_geom),4326)) as lon \
1188-
, box2d(st_transform(the_geom, 21781)) as geom_st_box2d \
1189-
, box2d(st_transform(the_geom, 2056)) as geom_st_box2d_lv95 \
1190-
, bgdi_id::text as feature_id \
1191-
from lebensraumkarte.lebensraumkarte_schweiz
1192-
}
1193-
11941176
source src_bafu_tranquillity_gebiete : def_searchable_features
11951177
{
11961178
sql_db = bafu_${DBSTAGING}
@@ -1640,12 +1622,6 @@ index ch_bafu_gewaesser_uferbestockung : ch_bafu_hydrologie_wassertemperaturmess
16401622
path = /var/lib/sphinxsearch/data/index/ch_bafu_gewaesser_uferbestockung
16411623
}
16421624

1643-
index ch_bafu_lebensraumkarte_schweiz : ch_bafu_hydrologie_wassertemperaturmessstationen
1644-
{
1645-
source = src_bafu_lebensraumkarte_schweiz
1646-
path = /var/lib/sphinxsearch/data/index/ch_bafu_lebensraumkarte_schweiz
1647-
}
1648-
16491625
index ch_bafu_tranquillity_gebiete : ch_bafu_hydrologie_wassertemperaturmessstationen
16501626
{
16511627
source = src_bafu_tranquillity_gebiete

conf/dritte.conf.part

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,5 @@
11
## SOURCES
22

3-
source src_ch_pronatura_waldreservate : def_searchable_features
4-
{
5-
sql_db = dritte_${DBSTAGING}
6-
sql_query = \
7-
SELECT bgdi_id as id \
8-
, name::text as label \
9-
, 'feature' as origin \
10-
, remove_accents(concat_ws(' ', objnummer, name, mcpfe)) as detail \
11-
, 'ch.pronatura.waldreservate' as layer \
12-
, quadindex(the_geom) as geom_quadindex \
13-
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
14-
, st_x(st_transform(st_centroid(the_geom),4326)) as lon \
15-
, box2d(st_transform(the_geom, 21781)) as geom_st_box2d \
16-
, box2d(st_transform(the_geom, 2056)) as geom_st_box2d_lv95 \
17-
, bgdi_id::text as feature_id \
18-
from pronatura.waldreservate
19-
}
20-
213
source src_ch_sem_sachplan_asyl_anhoerung : def_searchable_features
224
{
235
sql_db = dritte_${DBSTAGING}
@@ -56,25 +38,18 @@ source src_ch_sem_sachplan_asyl_kraft : def_searchable_features
5638

5739

5840
## INDICES
59-
index ch_pronatura_waldreservate
41+
index ch_sem_sachplan_asyl_anhoerung
6042
{
6143
type = plain
6244
dict=crc
63-
source = src_ch_pronatura_waldreservate
64-
path = /var/lib/sphinxsearch/data/index/ch_pronatura_waldreservate
65-
min_infix_len = 2
66-
expand_keywords = 1
67-
}
68-
69-
70-
index ch_sem_sachplan_asyl_anhoerung : ch_pronatura_waldreservate
71-
{
7245
source = src_ch_sem_sachplan_asyl_anhoerung
7346
path = /var/lib/sphinxsearch/data/index/ch_sem_sachplan_asyl_anhoerung
47+
min_infix_len = 2
48+
expand_keywords = 1
7449
}
7550

7651

77-
index ch_sem_sachplan_asyl_kraft : ch_pronatura_waldreservate
52+
index ch_sem_sachplan_asyl_kraft : ch_sem_sachplan_asyl_anhoerung
7853
{
7954
source = src_ch_sem_sachplan_asyl_kraft
8055
path = /var/lib/sphinxsearch/data/index/ch_sem_sachplan_asyl_kraft

conf/edi.conf.part

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,6 @@ source src_ch_bfs_generalisierte_grenzen_agglomerationen_g1 : def_searchable_fea
1919
}
2020

2121

22-
source src_ch_bfs_generalisierte_grenzen_agglomerationen_g2 : def_searchable_features
23-
{
24-
sql_db = edi_${DBSTAGING}
25-
sql_query = \
26-
SELECT bgdi_id::bigint as id \
27-
, gmd_name as label \
28-
, 'feature' as origin \
29-
, remove_accents(concat_ws(' ',gmd_name,gmd_nr::text,aname,acode::text)) as detail \
30-
, 'ch.bfs.generalisierte-grenzen_agglomerationen_g2' as layer \
31-
, quadindex(the_geom) as geom_quadindex \
32-
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
33-
, st_x(st_transform(st_centroid(the_geom),4326)) as lon \
34-
, box2d(st_transform(the_geom, 21781)) as geom_st_box2d \
35-
, box2d(st_transform(the_geom, 2056)) as geom_st_box2d_lv95 \
36-
, bgdi_id::text as feature_id \
37-
from bfs.gen_grenzen_agglo_g2
38-
}
39-
40-
4122
source src_ch_bfs_landschaftswandel : def_searchable_features
4223
{
4324
sql_db = edi_${DBSTAGING}
@@ -168,12 +149,6 @@ index ch_bfs_generalisierte_grenzen_agglomerationen_g1
168149
expand_keywords = 1
169150
}
170151

171-
index ch_bfs_generalisierte_grenzen_agglomerationen_g2 : ch_bfs_generalisierte_grenzen_agglomerationen_g1
172-
{
173-
source = src_ch_bfs_generalisierte_grenzen_agglomerationen_g2
174-
path = /var/lib/sphinxsearch/data/index/ch_bfs_generalisierte_grenzen_agglomerationen_g2
175-
}
176-
177152
index ch_bfs_landschaftswandel : ch_bfs_generalisierte_grenzen_agglomerationen_g1
178153
{
179154
source = src_ch_bfs_landschaftswandel

conf/evd.conf.part

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,24 @@ source src_ch_blw_ursprungsbezeichnungen_spirituosen : def_searchable_features
396396
from blw.ursprungsbezeichnungen_spirituosen
397397
}
398398

399+
source src_ch_blw_landwirtschaftliche_nutzungsflaechen : def_searchable_features
400+
{
401+
sql_db = evd_${DBSTAGING}
402+
sql_query = \
403+
SELECT bgdi_id::bigint as id \
404+
, t_id as label \
405+
, 'feature' as origin \
406+
, remove_accents(concat_ws(' ', bur_nr, nutzungsidentifikator)) as detail \
407+
, 'ch.blw.landwirtschaftliche-nutzungsflaechen' as layer \
408+
, quadindex(the_geom) as geom_quadindex \
409+
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
410+
, st_x(st_transform(st_centroid(the_geom),4326)) as lon \
411+
, box2d(st_transform(the_geom, 21781)) as geom_st_box2d \
412+
, box2d(st_transform(the_geom, 2056)) as geom_st_box2d_lv95 \
413+
, bgdi_id::text as feature_id \
414+
from blw.landwirtschaftliche_nutzungsflaechen
415+
}
416+
399417
## INDICES
400418

401419
index ch_blw_klimaeignung_typ
@@ -533,3 +551,9 @@ index ch_blw_ursprungsbezeichnungen_spirituosen : ch_blw_klimaeignung_typ
533551
source = src_ch_blw_ursprungsbezeichnungen_spirituosen
534552
path = /var/lib/sphinxsearch/data/index/ch_blw_ursprungsbezeichnungen_spirituosen
535553
}
554+
555+
index ch_blw_landwirtschaftliche_nutzungsflaechen : ch_blw_klimaeignung_typ
556+
{
557+
source = src_ch_blw_landwirtschaftliche_nutzungsflaechen
558+
path = /var/lib/sphinxsearch/data/index/ch_blw_landwirtschaftliche_nutzungsflaechen
559+
}

conf/lubis.conf.part

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ source src_ch_swisstopo_lubis_luftbilder_schraegaufnahmen : def_searchable_featu
2626
SELECT row_number() OVER(ORDER BY ebkey asc) as id \
2727
, concat_ws(' ',flightdate::date, ebkey::text) as label \
2828
, 'feature' as origin \
29-
, concat_ws(' ',flightdate::date, ebkey::text) as detail \
29+
, concat_ws(' ',flightdate::date, ebkey::text, ebkey_old) as detail \
3030
, 'ch.swisstopo.lubis-luftbilder_schraegaufnahmen' as layer \
3131
, bgdi_quadindex as geom_quadindex \
3232
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
@@ -43,9 +43,9 @@ source src_ch_swisstopo_lubis_luftbilder_farbe : def_searchable_features_with_ye
4343
sql_db = lubis_${DBSTAGING}
4444
sql_query = \
4545
SELECT row_number() OVER(ORDER BY ebkey asc) as id \
46-
, concat(flugdatum, ' ', bildnummer, ' (', concat_ws(', ', ort, ebkey), ')' ) as label \
46+
, concat(flugdatum, ' ', feature_id, ' (', concat_ws(', ', ebkey), ')' ) as label \
4747
, 'feature' as origin \
48-
, remove_accents(concat_ws(' ', ebkey, ort)) as detail \
48+
, remove_accents(concat_ws(' ', ebkey, ebkey_old)) as detail \
4949
, 'ch.swisstopo.lubis-luftbilder_farbe' as layer \
5050
, bgdi_quadindex as geom_quadindex \
5151
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
@@ -62,9 +62,9 @@ source src_ch_swisstopo_lubis_luftbilder_schwarzweiss: def_searchable_features_w
6262
sql_db = lubis_${DBSTAGING}
6363
sql_query = \
6464
SELECT row_number() OVER(ORDER BY ebkey asc) as id \
65-
, concat(flugdatum, ' ', bildnummer, ' (', concat_ws(', ', ort, ebkey), ')' ) as label \
65+
, concat(flugdatum, ' ', feature_id, ' (', concat_ws(', ', ebkey), ')' ) as label \
6666
, 'feature' as origin \
67-
, remove_accents(concat_ws(' ', ebkey, ort, ebkey_old)) as detail \
67+
, remove_accents(concat_ws(' ', ebkey, ebkey_old)) as detail \
6868
, 'ch.swisstopo.lubis-luftbilder_schwarzweiss' as layer \
6969
, bgdi_quadindex as geom_quadindex \
7070
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
@@ -81,9 +81,9 @@ source src_ch_swisstopo_lubis_luftbilder_infrarot: def_searchable_features_with_
8181
sql_db = lubis_${DBSTAGING}
8282
sql_query = \
8383
SELECT row_number() OVER(ORDER BY ebkey asc) as id \
84-
, concat(flugdatum, ' ', bildnummer, ' (', concat_ws(', ', ort, ebkey), ')' ) as label \
84+
, concat(flugdatum, ' ', feature_id, ' (', concat_ws(', ', ebkey, ebkey_old), ')' ) as label \
8585
, 'feature' as origin \
86-
, remove_accents(concat_ws(' ', ebkey, ort)) as detail \
86+
, remove_accents(ebkey) as detail \
8787
, 'ch.swisstopo.lubis-luftbilder_infrarot' as layer \
8888
, bgdi_quadindex as geom_quadindex \
8989
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
@@ -140,7 +140,7 @@ source src_ch_swisstopo_lubis_terrestrische_aufnahmen : def_searchable_features_
140140
SELECT row_number() OVER(ORDER BY inventory_number asc) as id \
141141
, lpad(bilder.inventory_number::text, 14, '0'::text) as label \
142142
, 'feature' as origin \
143-
, remove_accents(concat_ws(' ', inventory_number, image_number, station, operate_name, year)) as detail \
143+
, remove_accents(concat_ws(' ', inventory_number, station, operate_name, year, inventarnummer_old)) as detail \
144144
, 'ch.swisstopo.lubis-terrestrische_aufnahmen' as layer \
145145
, bgdi_quadindex as geom_quadindex \
146146
, st_y(st_transform(st_centroid(the_geom),4326)) as lat \
@@ -149,7 +149,7 @@ source src_ch_swisstopo_lubis_terrestrische_aufnahmen : def_searchable_features_
149149
, box2d(st_transform(the_geom_hilight, 2056)) as geom_st_box2d_lv95 \
150150
, year \
151151
, lpad(bilder.inventory_number::text, 14, '0'::text)::text as feature_id \
152-
FROM swisstopo_terrestrial.bilder
152+
FROM swisstopo_terrestrial.view_bilder bilder
153153
}
154154

155155
## INDICES

conf/search.conf.part

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -288,25 +288,25 @@ source src_zipcode : src_swisssearch
288288
sql_db=stopo_${DBSTAGING}
289289
sql_query = \
290290
SELECT \
291-
gid as id \
291+
os_uuid::int as id \
292292
, os_uuid::text as feature_id \
293293
, plz::text as detail \
294294
, concat('<b>', plz, ' - ', trim(langtext), '</b>') as label \
295295
, NULL as objectclass \
296296
, 'zipcode' as origin \
297297
, quadindex(the_geom) as geom_quadindex \
298298
, box2d(st_transform(the_geom, 21781)) as geom_st_box2d \
299-
, box2d(st_transform(the_geom, 2056)) as geom_st_box2d_lv95 \
299+
, box2d(the_geom) as geom_st_box2d_lv95 \
300300
, 1::integer as rank \
301-
, st_y(st_transform(st_setsrid(st_point(label_x,label_y),2056),21781)) as x \
302-
, st_x(st_transform(st_setsrid(st_point(label_x,label_y),2056),21781)) as y \
303-
, st_y(st_transform(st_setsrid(st_point(label_x,label_y),2056),2056)) as x_lv95 \
304-
, st_x(st_transform(st_setsrid(st_point(label_x,label_y),2056),2056)) as y_lv95 \
305-
, st_y(st_transform(st_setsrid(st_point(label_x,label_y),2056),4326)) as lat \
306-
, st_x(st_transform(st_setsrid(st_point(label_x,label_y),2056),4326)) as lon \
301+
, st_y(st_transform(ST_PointOnSurface(the_geom),21781)) as x \
302+
, st_x(st_transform(ST_PointOnSurface(the_geom),21781)) as y \
303+
, st_y(ST_PointOnSurface(the_geom)) as x_lv95 \
304+
, st_x(ST_PointOnSurface(the_geom)) as y_lv95 \
305+
, st_y(st_transform(ST_PointOnSurface(the_geom),4326)) as lat \
306+
, st_x(st_transform(ST_PointOnSurface(the_geom),4326)) as lon \
307307
, -1 as zoomlevel \
308308
, 1 as num \
309-
FROM vd.gabmo_plz p
309+
FROM vd.amtovz_ortschaften p
310310
}
311311

312312
source src_haltestellen : src_swisssearch
@@ -405,6 +405,8 @@ index district_metaphone : zipcode
405405
source = src_district
406406
path = /var/lib/sphinxsearch/data/index/district_metaphone
407407
preopen = 0
408+
wordforms = /dev/null
409+
expand_keywords = 1
408410
}
409411

410412
index kantone_metaphone : zipcode
@@ -413,6 +415,8 @@ index kantone_metaphone : zipcode
413415
source = src_kantone
414416
path = /var/lib/sphinxsearch/data/index/kantone_metaphone
415417
preopen = 0
418+
wordforms = /dev/null
419+
expand_keywords = 1
416420
}
417421

418422
index gg25_metaphone : zipcode
@@ -421,6 +425,8 @@ index gg25_metaphone : zipcode
421425
source = src_gg25
422426
path = /var/lib/sphinxsearch/data/index/gg25_metaphone
423427
preopen = 0
428+
wordforms = /dev/null
429+
expand_keywords = 1
424430
}
425431

426432
index swissnames3d_metaphone : zipcode
@@ -429,6 +435,8 @@ index swissnames3d_metaphone : zipcode
429435
source = src_swissnames3d
430436
path = /var/lib/sphinxsearch/data/index/swissnames3d_metaphone
431437
preopen = 0
438+
wordforms = /dev/null
439+
expand_keywords = 1
432440
}
433441

434442
index haltestellen_metaphone : zipcode
@@ -437,6 +445,8 @@ index haltestellen_metaphone : zipcode
437445
source = src_haltestellen
438446
path = /var/lib/sphinxsearch/data/index/haltestellen_metaphone
439447
preopen = 0
448+
wordforms = /dev/null
449+
expand_keywords = 1
440450
}
441451

442452
index address_metaphone: zipcode
@@ -445,6 +455,8 @@ index address_metaphone: zipcode
445455
source = src_address
446456
path = /var/lib/sphinxsearch/data/index/address_metaphone
447457
preopen = 0
458+
wordforms = /dev/null
459+
expand_keywords = 1
448460
}
449461

450462
# only create on demand

0 commit comments

Comments
 (0)