--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/26 11:25:26 2383 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/26 15:47:07 2389 @@ -82,6 +82,14 @@ gadeident = helperCache.get(helperSearchKey); } + if (gadeident == null) { + String best = getbestLevenshteinDistance(vasketVejnavn, postnrVeje); + if (best != null) { + result.levenshtein = true; + gadeident = postnrVeje.get(best); + } + } + // Brug OpenStreetMap før vi prøver google // For google har en request limit, det har OSM ikke! @@ -340,6 +348,17 @@ } + private String getbestLevenshteinDistance(String vasketVejnavn, Map postnrVeje) { + for(String vej : postnrVeje.keySet()) { + if ( StringUtils.getLevenshteinDistance(vasketVejnavn, vej) == 1) { + System.out.println("Levenstein: " + vasketVejnavn + "->" + vej); + return vej; + } + } + + return null; + } + private String calculateExtendedDaoRoute(ExtendedBean eb, Address orgAddress, Address targetAddress) { // /////////////////////////////////////////////////////////////////// @@ -453,6 +472,7 @@ //alternative måder at stave vej/gade/alle aliasSet.add(vejnavn.replace("vej", "ve") ); aliasSet.add(vejnavn.replace("vej", "vj") ); + aliasSet.add(vejnavn.replace("vej", "v") ); aliasSet.add(vejnavn.replace("alle", "all") ); aliasSet.add(vejnavn.replace("allé", "all") );