--- dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressSearch.java 2015/05/22 06:56:23 2555 +++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressSearch.java 2015/05/22 11:22:56 2556 @@ -109,33 +109,35 @@ return result; } - Integer gadeident = request.streetNames.get(result.vasketVejnavn); + // LookupStreetname er en indkapsling af alm + levenstein + google + osm + Integer gadeident = lookupStretname(request, result, helperSearchKey); - if ( gadeident == null) { - helperSearchKey = "" + request.postnr + "/" + result.vasketVejnavn; - gadeident = helperCache.get(helperSearchKey); - } - + /* + * Hvis der ikke er direkte hits, prøver vi at skære op til 3 ord vejnavn + * + *Denne sektion er MEGET experimental da den øger antallet af kald til google/OSM væsentligt if (gadeident == null) { - String vej = levenshteinHelper.proposeStreetName(request, result); - if (vej != null) { - gadeident = request.streetNames.get(vej); - } - } - - - // Brug OpenStreetMap før vi prøver google - // For google har en request limit, det har OSM ikke! - if ( gadeident == null) { - String vej = osmHelper.proposeStreetName(request, result); - gadeident = helperWrapper(vej, request.streetNames, helperSearchKey); - } - - if ( gadeident == null) { - String vej = googleHelper.proposeStreetName(request, result); - gadeident = helperWrapper(vej, request.streetNames, helperSearchKey); - } + String vejnavnParts[] = request.vejnavn.split(" "); + + for (int i=1; i<=3 && i postnrVeje, String helperSearchKey) { if (vej == null)