1 |
package dk.daoas.daoadresseservice; |
package dk.daoas.daoadresseservice; |
2 |
|
|
|
import java.util.Map; |
|
|
|
|
3 |
import org.apache.commons.lang3.StringUtils; |
import org.apache.commons.lang3.StringUtils; |
4 |
|
|
5 |
import dk.daoas.daoadresseservice.beans.SearchRequest; |
import dk.daoas.daoadresseservice.beans.SearchRequest; |
7 |
|
|
8 |
public class LevenshteinStreetnameHelper implements StreetnameHelper { |
public class LevenshteinStreetnameHelper implements StreetnameHelper { |
9 |
|
|
10 |
AddressSearch search; |
//AddressSearch search; |
11 |
|
|
12 |
public LevenshteinStreetnameHelper(AddressSearch search ) { |
public LevenshteinStreetnameHelper(AddressSearch search ) { |
13 |
this.search = search; |
//this.search = search; |
14 |
} |
} |
15 |
|
|
16 |
@Override |
@Override |
17 |
public String proposeStreetName(SearchRequest request, SearchResult result) { |
public String proposeStreetName(SearchRequest request, SearchResult result) { |
18 |
|
|
|
; |
|
19 |
result.levenshtein = true; |
result.levenshtein = true; |
20 |
|
|
21 |
for(String vej : request.streetNames.keySet() ) { |
for(String vej : request.streetNames.keySet() ) { |
22 |
if ( StringUtils.getLevenshteinDistance(request.vasketVejnavn, vej) == 1) { |
if ( StringUtils.getLevenshteinDistance(result.vasketVejnavn, vej) == 1) { |
23 |
System.out.println("Levenstein: " + request.vasketVejnavn + "->" + vej); |
System.out.println("Levenstein: " + result.vasketVejnavn + "->" + vej + " distance=1"); |
24 |
|
result.levenshteinDistance = 1; |
25 |
return vej; |
return vej; |
26 |
} |
} |
27 |
} |
} |
28 |
|
|
29 |
|
/* |
30 |
|
Distance=2 laver også false positives - så udkommenter denne sektion indtil at den er mere robust |
31 |
|
//prøv igen med distance=2 |
32 |
|
for(String vej : request.streetNames.keySet() ) { |
33 |
|
if ( StringUtils.getLevenshteinDistance(result.vasketVejnavn, vej) == 2) { |
34 |
|
System.out.println("Levenstein: " + result.vasketVejnavn + "->" + vej + " distance=2"); |
35 |
|
result.levenshteinDistance = 2; |
36 |
|
return vej; |
37 |
|
} |
38 |
|
}*/ |
39 |
|
|
40 |
return null; |
return null; |
41 |
} |
} |
42 |
|
|