Bedste søgeresultater først?
Oprettet af bjørn enemark
2017-10-25 23:06:01
Forfatter | Indlæg |
---|---|
Skrevet af bjørn enemark
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 jeppec
2017-10-30 13:15:56
|
Hej Eva og Birthe Så har vi kun: Ukendt (Ubekjendt) :) Er rettet nu :) Mange hilsner fra Jeppe Digitalarkivar ved Københavns Stadsarkiv |
Skrevet af jeppec
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 bjørn enemark
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 bjørn enemark
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 jeppec
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 jeppec
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 jeppec
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 bjørn enemark
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 |