--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/14 08:43:45 2289 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/14 09:31:46 2292 @@ -2,8 +2,10 @@ import java.sql.SQLException; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import dk.daoas.daoadresseservice.AddressUtils.SplitResult; @@ -118,7 +120,14 @@ String vasketVejnavn = AddressUtils.vaskVejnavn(a.vejnavn); Long gadeident = postnrVeje.get(vasketVejnavn); if (gadeident == null) { - postnrVeje.put(vasketVejnavn, a.gadeid); + //postnrVeje.put(vasketVejnavn, a.gadeid); + + Set aliaser = findVejAliaser(a.vejnavn); + for(String alias : aliaser) { + String vasketAlias = AddressUtils.vaskVejnavn(alias); + postnrVeje.put(vasketAlias, a.gadeid); + } + } Map gade = searchGadeidentAdresser.get(a.gadeid); @@ -300,5 +309,65 @@ return AddressUtils.injectIntoBk(targetAddress.koreliste, inject); } + private Set findVejAliaser(String vejnavn) { + Set aliasSet = new HashSet(); + aliasSet.add(vejnavn); + + aliasSet.add(vejnavn.replace("alle", "allé") ); + aliasSet.add(vejnavn.replace("allé", "alle") ); + + // danske tegn 1 + aliasSet.add(vejnavn.replace("æ", "ae") ); + aliasSet.add(vejnavn.replace("ø", "oe") ); + aliasSet.add(vejnavn.replace("å", "aa") ); + aliasSet.add(vejnavn.replace("ae", "æ") ); + aliasSet.add(vejnavn.replace("oe", "ø") ); + aliasSet.add(vejnavn.replace("aa", "å") ); + + //danske tegn 2 + aliasSet.add( vejnavn.replace("æ", "ae").replace("ø", "oe") ); + aliasSet.add( vejnavn.replace("æ", "ae").replace("å", "aa") ); + aliasSet.add( vejnavn.replace("ø", "ae").replace("å", "aa") ); + aliasSet.add( vejnavn.replace("ae", "æ").replace("oe","ø") ); + aliasSet.add( vejnavn.replace("ae", "æ").replace("aa","å") ); + aliasSet.add( vejnavn.replace("oe", "ø").replace("aa", "å") ); + + //danske tegn 3 + aliasSet.add( vejnavn.replace("æ", "ae").replace("ø", "oe").replace("å", "aa") ); + aliasSet.add( vejnavn.replace("ae", "æ").replace("oe", "ø").replace("aa", "å") ); + + + aliasSet.add(vejnavn.replace("gl", "gammel") ); + aliasSet.add(vejnavn.replace("gammel", "gl") ); + + aliasSet.add(vejnavn.replace("lille", "ll") ); + aliasSet.add(vejnavn.replace("ll ", "lille") ); + aliasSet.add(vejnavn.replace("ll.", "lille") ); + + aliasSet.add(vejnavn.replace("store", "st") ); + aliasSet.add(vejnavn.replace("st ", "store") ); + aliasSet.add(vejnavn.replace("st.", "store") ); + + aliasSet.add(vejnavn.replace("søndre", "sdr") ); + aliasSet.add(vejnavn.replace("sdr", "søndre") ); + + + aliasSet.add(vejnavn.replace("nørre", "nr") ); + aliasSet.add(vejnavn.replace("nr", "nørre") ); + + aliasSet.add(vejnavn.replace("nordre", "ndr") ); + aliasSet.add(vejnavn.replace("ndr", "nordre") ); + + aliasSet.add(vejnavn.replace("sankt", "skt") ); + aliasSet.add(vejnavn.replace("skt", "sankt") ); + + aliasSet.add(vejnavn.replace("skt", "sct") ); + aliasSet.add(vejnavn.replace("sct", "skt") ); + + + + return aliasSet; + } + }