Forum på kbharkiv.dk (2016-2020)

Bedste søgeresultater først?

Oprettet af
2017-10-25 23:06:01
Forfatter Indlæg
Skrevet af
2017-10-29 23:35:20
Fint!
Hvis vi laver prioritering i flere niveauer kan vi for gaderne løse problemet med gader, som findes både på Nørrebro og på Amager/Gentofte/valby. Dem med (Nørrebro) skal blot markeres som lokale (som for de københavnske sogne).
Skrevet af
2017-10-30 13:15:56
Hej Eva og Birthe
Så har vi kun: Ukendt (Ubekjendt)
:)


Er rettet nu :)
(kan først fremsøges i morgen)

Vedrørende ukendt/ubekjendt i flere versioner:
Jeg minder lige Jeppe om det (er tidligere foreslået)

Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2017-10-30 13:34:54
Hej Bjørn
Jeg har trukket en liste over kirkegårde og hvor mange begravelser de hver har tilknyttet:
https://docs.google.com/spreadsheets/d/1GOO6WHXRX3knptt3lQz6iOGAWYPLFh_FNwaD5I_gO1Q/edit?usp=sharing
Og du kan se om prioritet er sat til 1.

Jeg har oprettet samme felt på vores gade tabel. Du må gerne skrive SQL'en til at sætte dette felt for de 50 oftest forekommende gader.
Og trukket en liste over de med tilknyttede gader i samme ark, som overstående.

Og igen tak for din dataekspertise :)
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2017-10-31 09:13:41
hej Jeppe,
Jeg tager imod udfordringen og lad os så gå efter den forkromede løsning med to prioritetsniveauer og løsning af problemet med forkerte søgeresultater! Trin 1-5 er helt ufarlige, så længe priority ikke anvendes! Trin 6 kan testes med håndkraft

Trin 1 (som nok allerede er på plads): feltet priority skal oprettes som numerisk med defaultværdi 0
Trin 2 (oprettelse af et dummy-element til det med de forkerte søgeresultater): gadenavn = '-'

Trin 3 (sæt prioritet til 1 for københavnske gader, der også findes andre steder):
update burial_streets set priority = 1
where streetandhood like '%(indre by%' or streetandhood like '%(nørrebro%' or streetandhood like '%(vesterbro%'


Trin 4 (sæt prioritet til 2 for de 50 mest anvendte):
DB2
update burial_streets bsmain set priority = 2 where id in
(select id from
(select bs.id, count(*) as ct from burial_streets bs, kbharkiv.burial_addresses ba
where bs.id = ba.id group by bs.id) x
order by ct desc fetch first 50 rows only) y

—-
MySQL

update burial_streets bsmain set priority = 2 where id =
(select id from
(select id from
(select bs.id, count(*) as ct from burial_streets bs, kbharkiv.burial_addresses ba
where bs.id = ba.id group by bs.id) x
order by ct desc limit 50) y
where bsmain.id = y.id


Nu skulle Adelgade, Borgergade, Nørrebrogade, mv. gerne have fået prioritet 2

dødsårsager og erhverv på tilsvarende vis
fra, til og sogne skulle måske lige vente lidt, for dér er der allerede én prioritet i spil og den spiller ind ved udsøgningen (næste trin). Da der ikke er så mange i disse tabeller, er det sikkert nok med de 20 mest anvendte

Trin 5 (vigtigt, opret et index så søgninger kun behøver at bruge indekset)
create index street_ix on burial_streets (streetandhood, id, priority)

Trin 6 (brug af prioriteterne, vi tager lige den fulde version)
SELECT streetname, id FROM (
SELECT case
WHEN streetandhood lIKE ':query%'
THEN 5 + priority
WHEN streetandhood = '-'
THEN 9
ELSE priority
END AS prio,
CASE
WHEN streetandhood = '-'
THEN '?:query'
ELSE streetandhood
END AS streetname,
id FROM burial_streets
WHERE streetandhood LIKE '%:query%'
OR streetandhood = '-') a
<– NB se bemærkning
ORDER BY prio DESC, streetname
OR streetandhood = '-' skal først med, når programmet er ændret til at frasortere svar ude af synkronisering:
Den første record i svaret skal testes således:
if første tegn i data (her gadenavnet) er '?' og resten af data ikke er lig med data i indtastningsfeltet, så ignorer svaret helt
Skrevet af
2017-11-03 03:18:32
Hej Jeppe,
Hvordan er sql i dag til kirkegårde/sogne, hvor der allerede findes en prioritering?
Skrevet af
2017-11-21 09:46:00
Hej alle
Hvis I har undret jer over hvad der sker, så mødes Bjørn og jeg om et par uger og gør noget ved denne optimering :)
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2017-12-05 09:55:48
Hej alle
vi er igang med at indføre Bjørns optimerede søgninger for bedste resultat…
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2017-12-05 11:18:19
Hej alle
Nu har Bjørn været på besøg og hjulpet med at få det bedste resultat på sogne (20 oftest forekommende kommer først) , gader (50 mest forekommende) og dødsårsager (75 mest forekommende).

Og jeg er nu udlært til at kunne optimere de resterende felter.

Fortæl gerne hvordan I syntes det fungere ind i indtastningen.

Stor tak til Bjørn :)
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2017-12-07 11:58:13
For mig virker det meget fint. Jeg håber at I andre synes lige så godt om, at resultaterne nu kommer alfabetisk ordnet i fire grupper således:
[ol]
[li]de hyppigst forekommende, der starter med det indtastede[/li]
[li]øvrige, der starter med det indtastede[/li]
[li]de hyppigst forekommende, der indeholder det indtastede[/li]
[li]øvrige, der indeholder det indtastede[/li]
[/ol]
I mange tilfælde kan man nu finde dødsårsager og gader med bare to bogstaver:
at -> atrofi
ca -> cancer, - hepatis, - uteri, - ventriculi
cat -> catarrhus gastrointestinalis, - acutus, catarrhus intestinalis, - acutus
mo -> morbilli, morbus cordis
pn -> pneumonia, - crouposa
tu -> tuberculosis, - pulmonum

me giver meningitis, - tuberculosa (de to prioriterede) og derefter medfødt blindhed, - fejl, - hjertefejl, etc i alfabetisk orden
men giver meningitis, - tuberculosa, menigeoma regio frontalis, og så kommer meningitis acuta, - baseo, - basilaris, …

ab -> Absalonsgade (Vesterbro)
ad -> Adelgade
bo -> Borgergade