/[projects]/dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/LevenshteinStreetnameHelper.java
ViewVC logotype

Contents of /dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/LevenshteinStreetnameHelper.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3126 - (show annotations) (download)
Wed Oct 19 09:53:49 2016 UTC (7 years, 6 months ago) by torben
File size: 1385 byte(s)
Make use of Levenshtein configurable
1 package dk.daoas.daoadresseservice;
2
3 import org.apache.commons.lang3.StringUtils;
4
5 import dk.daoas.daoadresseservice.admin.ServiceConfig;
6 import dk.daoas.daoadresseservice.beans.SearchRequest;
7 import dk.daoas.daoadresseservice.beans.SearchResult;
8
9 public class LevenshteinStreetnameHelper implements StreetnameHelper {
10
11 ServiceConfig conf;
12
13 public LevenshteinStreetnameHelper(ServiceConfig conf) {
14 this.conf = conf;
15 }
16
17 @Override
18 public String proposeStreetName(SearchRequest request, SearchResult result) {
19 if (conf.useLevenshtein == false)
20 return null;
21
22 result.levenshtein = true;
23
24 for(String vej : request.streetNames.keySet() ) {
25 if ( StringUtils.getLevenshteinDistance(result.vasketVejnavn, vej) == 1) {
26 System.out.println("Levenstein: " + result.vasketVejnavn + "->" + vej + " distance=1");
27 result.levenshteinDistance = 1;
28 return vej;
29 }
30 }
31
32 /*
33 Distance=2 laver også false positives - så udkommenter denne sektion indtil at den er mere robust
34 //prøv igen med distance=2
35 for(String vej : request.streetNames.keySet() ) {
36 if ( StringUtils.getLevenshteinDistance(result.vasketVejnavn, vej) == 2) {
37 System.out.println("Levenstein: " + result.vasketVejnavn + "->" + vej + " distance=2");
38 result.levenshteinDistance = 2;
39 return vej;
40 }
41 }*/
42
43 return null;
44 }
45
46 }

  ViewVC Help
Powered by ViewVC 1.1.20