From 8206fe0e146011d1e1e593c84776b8fe4cce1345 Mon Sep 17 00:00:00 2001 From: missinglink Date: Fri, 12 Jun 2020 16:31:25 +0200 Subject: [PATCH] feat(streets): update street synonyms --- settings.js | 12 +- synonyms/street_suffix.txt | 129 ------ synonyms/street_synonyms_de.txt | 7 + synonyms/street_synonyms_en.txt | 379 +++++++++++++++++ synonyms/street_synonyms_usps.txt | 195 +++++++++ test/fixtures/expected.json | 684 +++++++++++++++++++++++++----- test/settings.js | 55 ++- 7 files changed, 1210 insertions(+), 251 deletions(-) delete mode 100644 synonyms/street_suffix.txt create mode 100644 synonyms/street_synonyms_de.txt create mode 100644 synonyms/street_synonyms_en.txt create mode 100644 synonyms/street_synonyms_usps.txt diff --git a/settings.js b/settings.js index 43b1ce31..b602b819 100644 --- a/settings.js +++ b/settings.js @@ -68,7 +68,9 @@ function generate(){ "icu_folding", "trim", "custom_name", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "ampersand", "remove_ordinals", @@ -103,7 +105,9 @@ function generate(){ "remove_duplicate_spaces", "ampersand", "custom_name", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "icu_folding", "remove_ordinals", @@ -150,7 +154,9 @@ function generate(){ "trim", "remove_duplicate_spaces", "custom_street", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "icu_folding", "remove_ordinals", diff --git a/synonyms/street_suffix.txt b/synonyms/street_suffix.txt deleted file mode 100644 index 55aba03c..00000000 --- a/synonyms/street_suffix.txt +++ /dev/null @@ -1,129 +0,0 @@ -alley, aly -annex, anx -avenue, ave, av -bayou, byu -beach, bch -bend, bnd -bluff, blf -bluffs, blfs -bottom, btm -boulevard, blvd -branch, br -bridge, brg -brook, brk -bypass, byp -canyon, cyn -cape, cp -causeway, cswy -center, ctr -channel, chnnl -circle, cir -cliff, clf -close, cl -club, clb -common, cmn -commons, cmns -connector, con -corridor, cor -course, crse -court, ct -cove, cv -creek, crk -crescent, cres -crest, crst -crossing, xing -crossroad, xrd -crossroads, xrds -curve, curv -dale, dl -dam, dm -drive, dr -esplanade, esp -expressway, expy -extended, ext -falls, fls -ferry, fry -field, fld -fields, flds -flat, flt -flats, flts -ford, frd -forest, frst -forge, frg -fork, frk -forks, frks -freeway, fwy -garden, gdn -gardens, gdns -gateway, gtwy -glen, gln -glenn, gln -green, grn -grove, grv -harbor, hbr -haven, hvn -heights, hts -highway, hwy -hill, hl -hills, hls -hollow, holw -isle, is -junction, jct -key, ky -keys, kys -knoll, knl -knolls, knls -landing, lndg -lane, ln -light, lgt -lights, lgts -lock, lck -locks, lcks -manor, mnr -meadow, mdw -meadows, mdws -mill, ml -mills, mls -mountain, mnt -motorway, mtwy -neck, nck -orchard, orch -parkway, pkwy -pasage, psge -pier, pr -pine, pne -pines, pnes -place, pl -plaza, plz -ranch, rnch -ridge, rdg -ridges, rdgs -river, riv -road, rd -route, rte -shore, shr -shores, shrs -skyway, skwy -spring, spg -springs, spgs -square, sq -street, st -suite, ste -terrace, terr, tce -trail, trl, tr -trafficway, trfy -tunnel, tunl -turnpike, tpke -valley, vly -vista, vis -village, vlg -way, wy - -# Germanic street suffixes -straße => strasse, str -strasse, str -brücke => bruecke, brucke, br -bruecke, brucke, br -bahnhof, bhf, bf -chaussee, ch -platz, pl diff --git a/synonyms/street_synonyms_de.txt b/synonyms/street_synonyms_de.txt new file mode 100644 index 00000000..bfbcaa41 --- /dev/null +++ b/synonyms/street_synonyms_de.txt @@ -0,0 +1,7 @@ +straße => strasse, str +strasse, str +brücke => bruecke, brucke, br +bruecke, brucke, br +bahnhof, bhf, bf +chaussee, ch +platz, pl diff --git a/synonyms/street_synonyms_en.txt b/synonyms/street_synonyms_en.txt new file mode 100644 index 00000000..4ac07b61 --- /dev/null +++ b/synonyms/street_synonyms_en.txt @@ -0,0 +1,379 @@ +abbey, abby +access, accs, acc +acres, acrs +alley, aly, ally, alee, al +alleyway, alwy, allyway, allwy +amble, ambl +anchorage, ancg +annex, anx +apartments, apts, appartments +approach, app, apch, appr +arcade, arc +arterial, artl +artery, art, arty +avenue, av, ave, aven, avenu, avn, avnu, avnue +avenues, avs, aves, avens, avenus, avns, avnus, avnues +autoroute, aut +back, bk +bank, bnk +basin, basn, bsn +bay, by +bayou, byu, bayoo +beach, baech, bch, beech +belt, blt +bend, bnd +block, blk, blck +bluff, blf, bluf, bluffs, blfs +boardwalk, bwk, bwlk, board walk +boulevard, blvd, bd, bde, blv, bl, blvde, blvrd, boulavard, boul, boulv, bvd, boulevarde +bottom, bot, bottm, btm, bttm +bottoms, bttms, btms, bottms +boundary, bdy +bowl, bl +brace, br, brce +branch, br, brnch, brch +brae, br +break, brk +bridge, bdge, br, brdg, bri, brg +broadway, bdwy, bway, bwy, brdway +brook, brk +brooks, brks +brow, brw +burg, bg +burgs, brgs +burrow, burw +butte, btte, bte +bypass, bypa, byps, bps, byp +byway, bywy +camp, cp +cape, cpe, cp +canyon, cyn, cnyn +caravan, cvan, cvn, c van +causeway, csway, cswy, causewy, caus, cause, cway +center, centre, cetr, cntr, ctr, c, cen +centers, ctrs +centreway, cnwy +chase, ch, chas +circle, cir, circel +circles, cirs +circlet, clt +circuit, crct, circ, cct, cirt, ci, circt +circus, crcs, crc +claim, clm +cliff, clf +cliffs, clfs +close, cl, cls, clse +cluster, clr, clstr +colonnade, clde, clnde +common, cmmn, comm, cmn, com, cm +commons, cmmns, cmns, comms +concord, cncd, cncrd +concession, conc +concourse, con, concs, concse, cnc +connection, cntn, cxn +connector, conr, cnctr, cntr +copse, cps +corner, cnr, crn, cor +corners, cnrs, crns, cors +corseo, cseo +corso, cso +county highway, ch, c h, chw, c hw, cohw, co hw, ctyhw, cty hw, chgwy, c hgwy, cohgwy, co hgwy, ctyhgwy, cty hgwy, chway, c hway, cohway, co hway, ctyhway, cty hway, chwy, c hwy, cohwy, co hwy, ctyhwy, cty hwy, chi, c hi, cohi, co hi, ctyhi, cty hi +county road, cr, c r, cor, co r, crd, c rd, cord, co rd, ctyr, cty r, ctyrd, cty rd +county route, cr, c r, cor, co r, crt, c rt, cort, co rt, ctyr, cty r, ctyrt, cty rt, crte, c rte, corte, co rte, ctyrte, cty rte, county touring route +course, crse +court, ct, crt +courts, crts, cts +courtyard, cyd, ctyd +cove, cov, ce, cv +creek, cr, crk +crescent, cr, cres, crs, crecent +crest, crst, cst +crief, crf +croft, cft +cross, cs, crss +crossing, crsg, xing, csg, x ing, x-ing +crossroad, crd, cross road, xroad, x-road, x road, xrd, x-rd, x rd +crossroads, cross roads, xrds +crossway, cowy, crwy, xway, xwy, x-way, x way, x-wy +cruiseway, cuwy, crwy +cul de sac, cul-de-sac, culdesac, cds, cusac, csac +curve, cve, crv, crve, curv +cutting, cttg, ctg, cutt +dale, dle +deviation, devn +distributor, dstr +divide, div +diversion, divers +down, dn +downs, dns, dwns +drive, dr, drv, dv, dve, d +driveway, drwy, dvwy, dwy, dway, drvwy +drove, drov +easement, esmt +edge, edg +elbow, elb +entrance, ent, entr +esplanade, esp, espl +estate, est +estates, ests +expressway, exp, expwy, expway, expy, exwy +extension, ex, ext, extn, exten +extensions, exts +fairway, fawy, fy +fall, fl +falls, fls +farm, frm +farms, frms +ferry, fry, fy +field, fld, fd +fields, flds, fds +fireline, fline, fire line, flne +firetrack, ftrk, fire track +firetrail, fit, fitr, fire trail +flat, fl, flt +flats, flts +follow, folw +footway, ftwy, foot way +ford, frd +foreshore, fshr, fore shore +formation, form, fmtn +freeway, frwy, fw, fwy, fway +front, frnt +frontage, frtg, fr +gap, gp +garden, gdn, grd, grdn +gardens, gdns, grds, grdns +gate, ga, gte +gates, gtes +gateway, gwy, gway, gtwy, gtway +glade, gl, gld, glde +glen, gln +grand boulevard, gbd, grbd, grdbd, gdbd, g bd, gr bd, grd bd, gd bd, g blvd, gr blvd, grd blvd, gd blvd, g bde, gr bde, grd bde, gd bde, g blvrd, gr blvrd, grd blvrd, gd blvrd, g boul, gr boul, grd boul, gd boul, g bvd, gr bvd, grd bvd, gd bvd, g bld, gr bld, grd bld, gd bld +grange, gra +green, grn, gn, gren +greenway, grwy +ground, grnd +grounds, grnds +grove, gr, grv, grve, gro +gulch, glch +gully, gly +hanger, hngr +harbor, harbour, hbr, hrbr +harbors, hbrs +haven, hvn, havn +head, hd +heads, hds +heath, hth, heth +heights, hghts, hgts, hieghts, ht, hts, hgths +highlands, hghlds, hlds, hglds +highroad, hrd, high road, hird, hi rd +highway, hgwy, hw, hway, hwy, hi, hwye, hywy +hill, hl +hills, hls, hils +hollow, hllw, holw +impasse, imp +inlet, inlt +interchange, intg, intchg, inter change +intersection, intn, inter section, intsctn +interstate, inter state, i, ih, i h +island, is, id, i, isl, isld +islands, iss, ids, islds +junction, jct, jnc, jnct, jctn, jtn, junct, j +junctions, jcts +key, ky +keys, kys +knoll, knol, knl +knolls, knls +ladder, ladr +lagoon, lagn, lgn, lagon +landing, ldg, lndg, landng +lane, l, ln, la +laneway, lnwy +light, lgt, lt +limits, lmts +line, ln +link, lnk, lk +little, ltl, lttl, littl, litl, lit, lt +loaf, lf +lookout, lkt, look out +loop, lp +loops, lps +lot, lt +lynne, lynn +mall, ml +manor, mnr +meadow, mdw +meadows, mdws, mead +mead, md +meander, mndr, mdr, mr +mew, mw +mews, mws +mile, mi +mill, ml +mills, mls +motorway, mway, mwy, mtwy +mount, mt +neaves, nvs +nook, nk +number, nbr, num, no, nmbr, nr +outlet, otlt +outlook, out, otlk +overbridge, ovrb, over bridge +overlook, over look, ovlk +overpass, over pass, opas +paddock, padk +palms, plms +parade, pde, prd, prde, pard +park, pk, prk +parklands, pkld, pklds, parkland, park lands, park land +parkway, pkwy, parkwy, pky, pkway, prkwy, prkway, pkw, pwy, prkw +parkways, pkwys +part, prt +pass, ps +passage, psge, pass, pasg +path, pth +pathway, phwy, pway, pthway, pthwy, ptway, ptwy +peninsula, psla +piazza, piaz, pzza +pike, pk, pke +pine, pne, pn +pines, pns, pnes +place, pl, pla, plc, plac +plain, pln, pl +plains, plns, pls +plateau, plat, plt +plaza, plz, plza, pz +prarie, pr +pocket, pkt, pokt, pckt +point, piont, pnt, pt +pointe, pte, pnte +port, prt +ports, prts +prairie, pr +priors, prrs +private, pvt +promenade, prom, prm +pursuit, pur +quad, qd +quadrangle, qdgl +quadrant, qdrt, qd +quay, quy, qy +quays, quys, qys +radial, radl +ramble, ra, rmbl +ramp, rmp +ranae, ran +ranch, rnch +rapid, rpd +rapids, rpds +range, rng, rnge, rang +range road, rge rd, range rd, rr +reach, rch +reserve, res, resrv, resv, rsrv, rserv, rserve, rsrve +rest, rst +retreat, rt, rtt +return, rtn +ridge, rdge, rdg +ridges, rdgs +ridgeway, rgwy, rdgwy, ridge way +right of way, rowy, rightofway, rofw, row, r o w, r of w +rise, ri +riverway, rvwy +riviera, rvra +road, rd, ro, r, roa, raod +roads, raods, rds +roadside, rdsd, road side +roadway, rdwy, rdw, rdy +rocks, rks +ronde, rnde +rosebowl, rsbl, rose bowl +rotary, rty +round, rnd +route, rt, rte +row, rw +run, rn +rural route, rr, r r +service road, svc rd, svc road, service rd, sv rd, svrd +serviceway, swy, svwy, svcwy +shoal, shl +shoals, shls +shore, shor, shr +shores, shors, shrs +shunt, shun, shnt +siding, sdng, sdg +skyway, skwy +slope, slpe, slp +sound, snd +space, spc +spring, spg, sprng, sprn +springs, spgs, sprngs, spns +spur, spr +square, sq, sqr +squares, sqs +stairs, strs +stairway, stwy, strwy, stair way, st wy, strway, str way +state highway, shighway, s highway, sthighway, st highway, sh, s h, sth, st h, shw, s hw, sthw, st hw, shwy, s hwy, shgwy, s hgwy, sthgwy, st hgwy, shway, s hway, sthway, st hway, sthwy, st hwy, shi, s hi, sthi, st hi, statehighway +state road, sr, stateroad, s r, sroad, s road, stroad, st road, staterd, srd, s rd, state rd, strd, st rd +state route, sr, stateroute, s r, sroute, s route, stroute, st route, statert, srt, s rt, srte, s rte, state rt, state rte, strt, strte, st rt, st rte +steps, stps +strand, stra, strnd, strd +strands, strnds, strds +stravenue, stra, strav +street, st, str, stre, stree, strt +streets, sts +strip, strp +subdivision, subdiv +subway, sbwy +summit, smt, sumt +tarn, tn +terrace, tce, ter, tr, terr, terace, terrac, terrasse, tsse +thicket, thick +thoroughfare, thor, throughfare, thorough fare, thfr +thoroughway, thwy +throughway, thru, thro, thruway, trwy, thwy +tollway, tlwy, twy +township highway, th, t h, twph, twp h, tshph, tshp h, thw, t hw, twphw, twp hw, tshphw, tshp hw, thgwy, t hgwy, twphgwy, twp hgwy, tshphgwy, tshp hgwy, thway, t hway, twphway, twp hway, tshphway, tshp hway, thwy, t hwy, twphwy, twp hwy, tshphwy, tshp hwy, thi, t hi, twphi, twp hi, tshphi, tshp hi +township road, tr, t r, t rd, trd, twpr, twp r, twprd, twp rd, tshpr, tshp r, tshprd, tshp rd, township rd, tp rd +township route, tr, t r, t rt, trt, trte, t rte, twpr, twp r, twprt, twp rt, twprte, twp rte, tshpr, tshp r, tshprt, tshp rt, tshprte, tshp rte +tower, twr +towers, twrs +townline, tline +trace, trce, trc +track, tr, trk, trak +trafficway, trfy +trail, tr, trl +trailer, trlr +tramway, tmwy +trees, trs +triangle, tri +truck trail, trktrl +trunkway, tkwy +tunnel, tun, tunl +turnabout, trnabt +turn, tn, trn +turnpike, tpk, tpke +underpass, upas, upass, ups, under pass +union, un +unions, uns +us highway, us hwy, u s hwy +us route, us rte, u s rte +vale, va, vl +valley, vlly, vly, vy +valleys, vlys, vllys +viaduct, via, viad, vdct, viadct +view, vw +views, vws +villa, vla +village, vlge +villas, vlas +vista, vst, vsta, vis +walk, wlk, wk +walkway, wkwy, wky, wlkwy +waters, wtrs +way, wy +ways, wys +well, wl +wells, wls +wharf, whrf, whf +wynd, wyn +yard, yd, yrd diff --git a/synonyms/street_synonyms_usps.txt b/synonyms/street_synonyms_usps.txt new file mode 100644 index 00000000..d5ca822d --- /dev/null +++ b/synonyms/street_synonyms_usps.txt @@ -0,0 +1,195 @@ +# USPS C1 Street Suffix Abbreviations +# https://pe.usps.com/text/pub28/28apc_002.htm +# https://gist.github.com/mick-io/26db11e4c7f7aee6646b07d9f858eb9c + +aly, alley, allee, ally +anx, anex, annex, annx +arc, arcade +ave, avenue, av, aven, avenu, avn, avnue +byu, bayou, bayoo +bch, beach +bnd, bend +blf, bluff, bluf +blfs, bluffs +btm, bottom, bot, bottm +blvd, boulevard, boul, boulv +br, branch, brnch +brg, bridge, brdge +brk, brook +brks, brooks +bg, burg +bgs, burgs +byp, bypass, bypa, bypas, byps +cp, camp, cmp +cyn, canyon, canyn, cnyn +cpe, cape +cswy, causeway, causwa +ctr, center, cen, cent, centr, centre, cnter, cntr +ctrs, centers +cir, circle, circ, circl, crcl, crcle +cirs, circles +clf, cliff +clfs, cliffs +clb, club +cmn, common +cmns, commons +cor, corner +cors, corners +crse, course +ct, court +cts, courts +cv, cove +cvs, coves +crk, creek +cres, crescent, crsent, crsnt +crst, crest +xing, crossing, crssng +xrd, crossroad +xrds, crossroads +curv, curve +dl, dale +dm, dam +dv, divide, div, dvd +dr, drive, driv, drv +drs, drives +est, estate +ests, estates +expy, expressway, exp, expr, express, expw +ext, extension, extn, extnsn +exts, extensions +fls, falls +fry, ferry, frry +fld, field +flds, fields +flt, flat +flts, flats +frd, ford +frds, fords +frst, forest, forests +frg, forge, forg +frgs, forges +frk, fork +frks, forks +ft, fort, frt +fwy, freeway, freewy, frway, frwy +gdn, garden, gardn, grden, grdn +gdns, gardens, grdns +gtwy, gateway, gatewy, gatway, gtway +gln, glen +glns, glens +grn, green +grns, greens +grv, grove, grov +grvs, groves +hbr, harbor, harb, harbr, hrbor +hbrs, harbors +hvn, haven +hts, heights, ht +hwy, highway, highwy, hiway, hiwy, hway +hl, hill +hls, hills +holw, hollow, hllw, hollows, holws +inlt, inlet +is, island, islnd +iss, islands, islnds +isle, isles +jct, junction, jction, jctn, junctn, juncton +jcts, junctions, jctns +ky, key +kys, keys +knl, knoll, knol +knls, knolls +lk, lake +lks, lakes +lndg, landing, lndng +ln, lane +lgt, light +lgts, lights +lf, loaf +lck, lock +lcks, locks +ldg, lodge, ldge, lodg +loop, loops +mnr, manor +mnrs, manors +mdw, meadow +mdws, meadows, mdw, medows +ml, mill +mls, mills +msn, mission, missn, mssn +mtwy, motorway +mt, mount, mnt +mtn, mountain, mntain, mntn, mountin, mtin +mtns, mountains, mntns +nck, neck +orch, orchard, orchrd +oval, ovl +opas, overpass +park, parks +pkwy, parkway, parkwy, pkway, pky, parkways, pkwys +psge, passage +path, paths +pike, pikes +pne, pine +pnes, pines +pl, place +pln, plain +plns, plains +plz, plaza, plza +pt, point +pts, points +prt, port +prts, ports +pr, prairie, prr +radl, radial, rad, radiel +rnch, ranch, ranches, rnchs +rpd, rapid +rpds, rapids +rst, rest +rdg, ridge, rdge +rdgs, ridges +riv, river, rvr, rivr +rd, road +rds, roads +rte, route +shl, shoal +shls, shoals +shr, shore, shoar +shrs, shores, shoars +skwy, skyway +spg, spring, spng, sprng +spgs, springs, spngs, sprngs +spur, spurs +sq, square, sqr, sqre, squ +sqs, squares, sqrs +sta, station, statn, stn +stra, stravenue, strav, straven, stravn, strvn, strvnue +strm, stream, streme +st, street, strt, str +sts, streets +smt, summit, sumit, sumitt +ter, terrace, terr +trwy, throughway +trce, trace, traces +trak, track, tracks, trk, trks +trfy, trafficway +trl, trail, trails, trls +trlr, trailer, trlrs +tunl, tunnel, tunel, tunls, tunnels, tunnl +tpke, turnpike, trnpk, turnpk +upas, underpass +un, union +uns, unions +vly, valley, vally, vlly +vlys, valleys +via, viaduct, vdct, viadct +vw, view +vws, views +vlg, village, vill, villag, villg, villiage +vlgs, villages +vl, ville +vis, vista, vist, vst, vsta +walk, walks +way, wy +wl, well +wls, wells diff --git a/test/fixtures/expected.json b/test/fixtures/expected.json index 3128f7a4..79613fb7 100644 --- a/test/fixtures/expected.json +++ b/test/fixtures/expected.json @@ -50,7 +50,9 @@ "icu_folding", "trim", "custom_name", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "ampersand", "remove_ordinals", @@ -91,7 +93,9 @@ "remove_duplicate_spaces", "ampersand", "custom_name", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "icu_folding", "remove_ordinals", @@ -147,7 +151,9 @@ "trim", "remove_duplicate_spaces", "custom_street", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "icu_folding", "remove_ordinals", @@ -369,136 +375,596 @@ "west,w" ] }, - "street_suffix": { + "street_synonyms_de": { "type": "synonym", "synonyms": [ - "alley,aly", + "straße => strasse,str", + "strasse,str", + "brücke => bruecke,brucke,br", + "bruecke,brucke,br", + "bahnhof,bhf,bf", + "chaussee,ch", + "platz,pl" + ] + }, + "street_synonyms_en": { + "type": "synonym", + "synonyms": [ + "abbey,abby", + "access,accs,acc", + "acres,acrs", + "alley,aly,ally,alee,al", + "alleyway,alwy,allyway,allwy", + "amble,ambl", + "anchorage,ancg", "annex,anx", - "avenue,ave,av", - "bayou,byu", - "beach,bch", + "apartments,apts,appartments", + "approach,app,apch,appr", + "arcade,arc", + "arterial,artl", + "artery,art,arty", + "avenue,av,ave,aven,avenu,avn,avnu,avnue", + "avenues,avs,aves,avens,avenus,avns,avnus,avnues", + "autoroute,aut", + "back,bk", + "bank,bnk", + "basin,basn,bsn", + "bay,by", + "bayou,byu,bayoo", + "beach,baech,bch,beech", + "belt,blt", "bend,bnd", - "bluff,blf", - "bluffs,blfs", - "bottom,btm", - "boulevard,blvd", - "branch,br", - "bridge,brg", + "block,blk,blck", + "bluff,blf,bluf,bluffs,blfs", + "boardwalk,bwk,bwlk,board walk", + "boulevard,blvd,bd,bde,blv,bl,blvde,blvrd,boulavard,boul,boulv,bvd,boulevarde", + "bottom,bot,bottm,btm,bttm", + "bottoms,bttms,btms,bottms", + "boundary,bdy", + "bowl,bl", + "brace,br,brce", + "branch,br,brnch,brch", + "brae,br", + "break,brk", + "bridge,bdge,br,brdg,bri,brg", + "broadway,bdwy,bway,bwy,brdway", "brook,brk", - "bypass,byp", - "canyon,cyn", - "cape,cp", - "causeway,cswy", - "center,ctr", - "channel,chnnl", - "circle,cir", + "brooks,brks", + "brow,brw", + "burg,bg", + "burgs,brgs", + "burrow,burw", + "butte,btte,bte", + "bypass,bypa,byps,bps,byp", + "byway,bywy", + "camp,cp", + "cape,cpe,cp", + "canyon,cyn,cnyn", + "caravan,cvan,cvn,c van", + "causeway,csway,cswy,causewy,caus,cause,cway", + "center,centre,cetr,cntr,ctr,c,cen", + "centers,ctrs", + "centreway,cnwy", + "chase,ch,chas", + "circle,cir,circel", + "circles,cirs", + "circlet,clt", + "circuit,crct,circ,cct,cirt,ci,circt", + "circus,crcs,crc", + "claim,clm", "cliff,clf", - "close,cl", - "club,clb", - "common,cmn", - "commons,cmns", - "connector,con", - "corridor,cor", + "cliffs,clfs", + "close,cl,cls,clse", + "cluster,clr,clstr", + "colonnade,clde,clnde", + "common,cmmn,comm,cmn,com,cm", + "commons,cmmns,cmns,comms", + "concord,cncd,cncrd", + "concession,conc", + "concourse,con,concs,concse,cnc", + "connection,cntn,cxn", + "connector,conr,cnctr,cntr", + "copse,cps", + "corner,cnr,crn,cor", + "corners,cnrs,crns,cors", + "corseo,cseo", + "corso,cso", + "county highway,ch,c h,chw,c hw,cohw,co hw,ctyhw,cty hw,chgwy,c hgwy,cohgwy,co hgwy,ctyhgwy,cty hgwy,chway,c hway,cohway,co hway,ctyhway,cty hway,chwy,c hwy,cohwy,co hwy,ctyhwy,cty hwy,chi,c hi,cohi,co hi,ctyhi,cty hi", + "county road,cr,c r,cor,co r,crd,c rd,cord,co rd,ctyr,cty r,ctyrd,cty rd", + "county route,cr,c r,cor,co r,crt,c rt,cort,co rt,ctyr,cty r,ctyrt,cty rt,crte,c rte,corte,co rte,ctyrte,cty rte,county touring route", "course,crse", - "court,ct", - "cove,cv", - "creek,crk", - "crescent,cres", - "crest,crst", - "crossing,xing", - "crossroad,xrd", - "crossroads,xrds", - "curve,curv", - "dale,dl", - "dam,dm", - "drive,dr", - "esplanade,esp", - "expressway,expy", - "extended,ext", + "court,ct,crt", + "courts,crts,cts", + "courtyard,cyd,ctyd", + "cove,cov,ce,cv", + "creek,cr,crk", + "crescent,cr,cres,crs,crecent", + "crest,crst,cst", + "crief,crf", + "croft,cft", + "cross,cs,crss", + "crossing,crsg,xing,csg,x ing,x-ing", + "crossroad,crd,cross road,xroad,x-road,x road,xrd,x-rd,x rd", + "crossroads,cross roads,xrds", + "crossway,cowy,crwy,xway,xwy,x-way,x way,x-wy", + "cruiseway,cuwy,crwy", + "cul de sac,cul-de-sac,culdesac,cds,cusac,csac", + "curve,cve,crv,crve,curv", + "cutting,cttg,ctg,cutt", + "dale,dle", + "deviation,devn", + "distributor,dstr", + "divide,div", + "diversion,divers", + "down,dn", + "downs,dns,dwns", + "drive,dr,drv,dv,dve,d", + "driveway,drwy,dvwy,dwy,dway,drvwy", + "drove,drov", + "easement,esmt", + "edge,edg", + "elbow,elb", + "entrance,ent,entr", + "esplanade,esp,espl", + "estate,est", + "estates,ests", + "expressway,exp,expwy,expway,expy,exwy", + "extension,ex,ext,extn,exten", + "extensions,exts", + "fairway,fawy,fy", + "fall,fl", "falls,fls", - "ferry,fry", - "field,fld", - "fields,flds", - "flat,flt", + "farm,frm", + "farms,frms", + "ferry,fry,fy", + "field,fld,fd", + "fields,flds,fds", + "fireline,fline,fire line,flne", + "firetrack,ftrk,fire track", + "firetrail,fit,fitr,fire trail", + "flat,fl,flt", "flats,flts", + "follow,folw", + "footway,ftwy,foot way", "ford,frd", - "forest,frst", - "forge,frg", - "fork,frk", - "forks,frks", - "freeway,fwy", - "garden,gdn", - "gardens,gdns", - "gateway,gtwy", + "foreshore,fshr,fore shore", + "formation,form,fmtn", + "freeway,frwy,fw,fwy,fway", + "front,frnt", + "frontage,frtg,fr", + "gap,gp", + "garden,gdn,grd,grdn", + "gardens,gdns,grds,grdns", + "gate,ga,gte", + "gates,gtes", + "gateway,gwy,gway,gtwy,gtway", + "glade,gl,gld,glde", "glen,gln", - "glenn,gln", - "green,grn", - "grove,grv", - "harbor,hbr", - "haven,hvn", - "heights,hts", - "highway,hwy", + "grand boulevard,gbd,grbd,grdbd,gdbd,g bd,gr bd,grd bd,gd bd,g blvd,gr blvd,grd blvd,gd blvd,g bde,gr bde,grd bde,gd bde,g blvrd,gr blvrd,grd blvrd,gd blvrd,g boul,gr boul,grd boul,gd boul,g bvd,gr bvd,grd bvd,gd bvd,g bld,gr bld,grd bld,gd bld", + "grange,gra", + "green,grn,gn,gren", + "greenway,grwy", + "ground,grnd", + "grounds,grnds", + "grove,gr,grv,grve,gro", + "gulch,glch", + "gully,gly", + "hanger,hngr", + "harbor,harbour,hbr,hrbr", + "harbors,hbrs", + "haven,hvn,havn", + "head,hd", + "heads,hds", + "heath,hth,heth", + "heights,hghts,hgts,hieghts,ht,hts,hgths", + "highlands,hghlds,hlds,hglds", + "highroad,hrd,high road,hird,hi rd", + "highway,hgwy,hw,hway,hwy,hi,hwye,hywy", "hill,hl", - "hills,hls", - "hollow,holw", - "isle,is", - "junction,jct", + "hills,hls,hils", + "hollow,hllw,holw", + "impasse,imp", + "inlet,inlt", + "interchange,intg,intchg,inter change", + "intersection,intn,inter section,intsctn", + "interstate,inter state,i,ih,i h", + "island,is,id,i,isl,isld", + "islands,iss,ids,islds", + "junction,jct,jnc,jnct,jctn,jtn,junct,j", + "junctions,jcts", "key,ky", "keys,kys", - "knoll,knl", + "knoll,knol,knl", "knolls,knls", - "landing,lndg", - "lane,ln", - "light,lgt", - "lights,lgts", - "lock,lck", - "locks,lcks", + "ladder,ladr", + "lagoon,lagn,lgn,lagon", + "landing,ldg,lndg,landng", + "lane,l,ln,la", + "laneway,lnwy", + "light,lgt,lt", + "limits,lmts", + "line,ln", + "link,lnk,lk", + "little,ltl,lttl,littl,litl,lit,lt", + "loaf,lf", + "lookout,lkt,look out", + "loop,lp", + "loops,lps", + "lot,lt", + "lynne,lynn", + "mall,ml", "manor,mnr", "meadow,mdw", - "meadows,mdws", + "meadows,mdws,mead", + "mead,md", + "meander,mndr,mdr,mr", + "mew,mw", + "mews,mws", + "mile,mi", "mill,ml", "mills,mls", - "mountain,mnt", - "motorway,mtwy", - "neck,nck", - "orchard,orch", - "parkway,pkwy", - "pasage,psge", - "pier,pr", - "pine,pne", - "pines,pnes", - "place,pl", - "plaza,plz", + "motorway,mway,mwy,mtwy", + "mount,mt", + "neaves,nvs", + "nook,nk", + "number,nbr,num,no,nmbr,nr", + "outlet,otlt", + "outlook,out,otlk", + "overbridge,ovrb,over bridge", + "overlook,over look,ovlk", + "overpass,over pass,opas", + "paddock,padk", + "palms,plms", + "parade,pde,prd,prde,pard", + "park,pk,prk", + "parklands,pkld,pklds,parkland,park lands,park land", + "parkway,pkwy,parkwy,pky,pkway,prkwy,prkway,pkw,pwy,prkw", + "parkways,pkwys", + "part,prt", + "pass,ps", + "passage,psge,pass,pasg", + "path,pth", + "pathway,phwy,pway,pthway,pthwy,ptway,ptwy", + "peninsula,psla", + "piazza,piaz,pzza", + "pike,pk,pke", + "pine,pne,pn", + "pines,pns,pnes", + "place,pl,pla,plc,plac", + "plain,pln,pl", + "plains,plns,pls", + "plateau,plat,plt", + "plaza,plz,plza,pz", + "prarie,pr", + "pocket,pkt,pokt,pckt", + "point,piont,pnt,pt", + "pointe,pte,pnte", + "port,prt", + "ports,prts", + "prairie,pr", + "priors,prrs", + "private,pvt", + "promenade,prom,prm", + "pursuit,pur", + "quad,qd", + "quadrangle,qdgl", + "quadrant,qdrt,qd", + "quay,quy,qy", + "quays,quys,qys", + "radial,radl", + "ramble,ra,rmbl", + "ramp,rmp", + "ranae,ran", "ranch,rnch", - "ridge,rdg", + "rapid,rpd", + "rapids,rpds", + "range,rng,rnge,rang", + "range road,rge rd,range rd,rr", + "reach,rch", + "reserve,res,resrv,resv,rsrv,rserv,rserve,rsrve", + "rest,rst", + "retreat,rt,rtt", + "return,rtn", + "ridge,rdge,rdg", "ridges,rdgs", - "river,riv", - "road,rd", - "route,rte", - "shore,shr", - "shores,shrs", + "ridgeway,rgwy,rdgwy,ridge way", + "right of way,rowy,rightofway,rofw,row,r o w,r of w", + "rise,ri", + "riverway,rvwy", + "riviera,rvra", + "road,rd,ro,r,roa,raod", + "roads,raods,rds", + "roadside,rdsd,road side", + "roadway,rdwy,rdw,rdy", + "rocks,rks", + "ronde,rnde", + "rosebowl,rsbl,rose bowl", + "rotary,rty", + "round,rnd", + "route,rt,rte", + "row,rw", + "run,rn", + "rural route,rr,r r", + "service road,svc rd,svc road,service rd,sv rd,svrd", + "serviceway,swy,svwy,svcwy", + "shoal,shl", + "shoals,shls", + "shore,shor,shr", + "shores,shors,shrs", + "shunt,shun,shnt", + "siding,sdng,sdg", "skyway,skwy", - "spring,spg", - "springs,spgs", - "square,sq", - "street,st", - "suite,ste", - "terrace,terr,tce", - "trail,trl,tr", + "slope,slpe,slp", + "sound,snd", + "space,spc", + "spring,spg,sprng,sprn", + "springs,spgs,sprngs,spns", + "spur,spr", + "square,sq,sqr", + "squares,sqs", + "stairs,strs", + "stairway,stwy,strwy,stair way,st wy,strway,str way", + "state highway,shighway,s highway,sthighway,st highway,sh,s h,sth,st h,shw,s hw,sthw,st hw,shwy,s hwy,shgwy,s hgwy,sthgwy,st hgwy,shway,s hway,sthway,st hway,sthwy,st hwy,shi,s hi,sthi,st hi,statehighway", + "state road,sr,stateroad,s r,sroad,s road,stroad,st road,staterd,srd,s rd,state rd,strd,st rd", + "state route,sr,stateroute,s r,sroute,s route,stroute,st route,statert,srt,s rt,srte,s rte,state rt,state rte,strt,strte,st rt,st rte", + "steps,stps", + "strand,stra,strnd,strd", + "strands,strnds,strds", + "stravenue,stra,strav", + "street,st,str,stre,stree,strt", + "streets,sts", + "strip,strp", + "subdivision,subdiv", + "subway,sbwy", + "summit,smt,sumt", + "tarn,tn", + "terrace,tce,ter,tr,terr,terace,terrac,terrasse,tsse", + "thicket,thick", + "thoroughfare,thor,throughfare,thorough fare,thfr", + "thoroughway,thwy", + "throughway,thru,thro,thruway,trwy,thwy", + "tollway,tlwy,twy", + "township highway,th,t h,twph,twp h,tshph,tshp h,thw,t hw,twphw,twp hw,tshphw,tshp hw,thgwy,t hgwy,twphgwy,twp hgwy,tshphgwy,tshp hgwy,thway,t hway,twphway,twp hway,tshphway,tshp hway,thwy,t hwy,twphwy,twp hwy,tshphwy,tshp hwy,thi,t hi,twphi,twp hi,tshphi,tshp hi", + "township road,tr,t r,t rd,trd,twpr,twp r,twprd,twp rd,tshpr,tshp r,tshprd,tshp rd,township rd,tp rd", + "township route,tr,t r,t rt,trt,trte,t rte,twpr,twp r,twprt,twp rt,twprte,twp rte,tshpr,tshp r,tshprt,tshp rt,tshprte,tshp rte", + "tower,twr", + "towers,twrs", + "townline,tline", + "trace,trce,trc", + "track,tr,trk,trak", "trafficway,trfy", - "tunnel,tunl", - "turnpike,tpke", - "valley,vly", - "vista,vis", - "village,vlg", + "trail,tr,trl", + "trailer,trlr", + "tramway,tmwy", + "trees,trs", + "triangle,tri", + "truck trail,trktrl", + "trunkway,tkwy", + "tunnel,tun,tunl", + "turnabout,trnabt", + "turn,tn,trn", + "turnpike,tpk,tpke", + "underpass,upas,upass,ups,under pass", + "union,un", + "unions,uns", + "us highway,us hwy,u s hwy", + "us route,us rte,u s rte", + "vale,va,vl", + "valley,vlly,vly,vy", + "valleys,vlys,vllys", + "viaduct,via,viad,vdct,viadct", + "view,vw", + "views,vws", + "villa,vla", + "village,vlge", + "villas,vlas", + "vista,vst,vsta,vis", + "walk,wlk,wk", + "walkway,wkwy,wky,wlkwy", + "waters,wtrs", "way,wy", - "straße => strasse,str", - "strasse,str", - "brücke => bruecke,brucke,br", - "bruecke,brucke,br", - "bahnhof,bhf,bf", - "chaussee,ch", - "platz,pl" + "ways,wys", + "well,wl", + "wells,wls", + "wharf,whrf,whf", + "wynd,wyn", + "yard,yd,yrd" + ] + }, + "street_synonyms_usps": { + "type": "synonym", + "synonyms": [ + "aly,alley,allee,ally", + "anx,anex,annex,annx", + "arc,arcade", + "ave,avenue,av,aven,avenu,avn,avnue", + "byu,bayou,bayoo", + "bch,beach", + "bnd,bend", + "blf,bluff,bluf", + "blfs,bluffs", + "btm,bottom,bot,bottm", + "blvd,boulevard,boul,boulv", + "br,branch,brnch", + "brg,bridge,brdge", + "brk,brook", + "brks,brooks", + "bg,burg", + "bgs,burgs", + "byp,bypass,bypa,bypas,byps", + "cp,camp,cmp", + "cyn,canyon,canyn,cnyn", + "cpe,cape", + "cswy,causeway,causwa", + "ctr,center,cen,cent,centr,centre,cnter,cntr", + "ctrs,centers", + "cir,circle,circ,circl,crcl,crcle", + "cirs,circles", + "clf,cliff", + "clfs,cliffs", + "clb,club", + "cmn,common", + "cmns,commons", + "cor,corner", + "cors,corners", + "crse,course", + "ct,court", + "cts,courts", + "cv,cove", + "cvs,coves", + "crk,creek", + "cres,crescent,crsent,crsnt", + "crst,crest", + "xing,crossing,crssng", + "xrd,crossroad", + "xrds,crossroads", + "curv,curve", + "dl,dale", + "dm,dam", + "dv,divide,div,dvd", + "dr,drive,driv,drv", + "drs,drives", + "est,estate", + "ests,estates", + "expy,expressway,exp,expr,express,expw", + "ext,extension,extn,extnsn", + "exts,extensions", + "fls,falls", + "fry,ferry,frry", + "fld,field", + "flds,fields", + "flt,flat", + "flts,flats", + "frd,ford", + "frds,fords", + "frst,forest,forests", + "frg,forge,forg", + "frgs,forges", + "frk,fork", + "frks,forks", + "ft,fort,frt", + "fwy,freeway,freewy,frway,frwy", + "gdn,garden,gardn,grden,grdn", + "gdns,gardens,grdns", + "gtwy,gateway,gatewy,gatway,gtway", + "gln,glen", + "glns,glens", + "grn,green", + "grns,greens", + "grv,grove,grov", + "grvs,groves", + "hbr,harbor,harb,harbr,hrbor", + "hbrs,harbors", + "hvn,haven", + "hts,heights,ht", + "hwy,highway,highwy,hiway,hiwy,hway", + "hl,hill", + "hls,hills", + "holw,hollow,hllw,hollows,holws", + "inlt,inlet", + "is,island,islnd", + "iss,islands,islnds", + "isle,isles", + "jct,junction,jction,jctn,junctn,juncton", + "jcts,junctions,jctns", + "ky,key", + "kys,keys", + "knl,knoll,knol", + "knls,knolls", + "lk,lake", + "lks,lakes", + "lndg,landing,lndng", + "ln,lane", + "lgt,light", + "lgts,lights", + "lf,loaf", + "lck,lock", + "lcks,locks", + "ldg,lodge,ldge,lodg", + "loop,loops", + "mnr,manor", + "mnrs,manors", + "mdw,meadow", + "mdws,meadows,mdw,medows", + "ml,mill", + "mls,mills", + "msn,mission,missn,mssn", + "mtwy,motorway", + "mt,mount,mnt", + "mtn,mountain,mntain,mntn,mountin,mtin", + "mtns,mountains,mntns", + "nck,neck", + "orch,orchard,orchrd", + "oval,ovl", + "opas,overpass", + "park,parks", + "pkwy,parkway,parkwy,pkway,pky,parkways,pkwys", + "psge,passage", + "path,paths", + "pike,pikes", + "pne,pine", + "pnes,pines", + "pl,place", + "pln,plain", + "plns,plains", + "plz,plaza,plza", + "pt,point", + "pts,points", + "prt,port", + "prts,ports", + "pr,prairie,prr", + "radl,radial,rad,radiel", + "rnch,ranch,ranches,rnchs", + "rpd,rapid", + "rpds,rapids", + "rst,rest", + "rdg,ridge,rdge", + "rdgs,ridges", + "riv,river,rvr,rivr", + "rd,road", + "rds,roads", + "rte,route", + "shl,shoal", + "shls,shoals", + "shr,shore,shoar", + "shrs,shores,shoars", + "skwy,skyway", + "spg,spring,spng,sprng", + "spgs,springs,spngs,sprngs", + "spur,spurs", + "sq,square,sqr,sqre,squ", + "sqs,squares,sqrs", + "sta,station,statn,stn", + "stra,stravenue,strav,straven,stravn,strvn,strvnue", + "strm,stream,streme", + "st,street,strt,str", + "sts,streets", + "smt,summit,sumit,sumitt", + "ter,terrace,terr", + "trwy,throughway", + "trce,trace,traces", + "trak,track,tracks,trk,trks", + "trfy,trafficway", + "trl,trail,trails,trls", + "trlr,trailer,trlrs", + "tunl,tunnel,tunel,tunls,tunnels,tunnl", + "tpke,turnpike,trnpk,turnpk", + "upas,underpass", + "un,union", + "uns,unions", + "vly,valley,vally,vlly", + "vlys,valleys", + "via,viaduct,vdct,viadct", + "vw,view", + "vws,views", + "vlg,village,vill,villag,villg,villiage", + "vlgs,villages", + "vl,ville", + "vis,vista,vist,vst,vsta", + "walk,walks", + "way,wy", + "wl,well", + "wls,wells" ] } }, diff --git a/test/settings.js b/test/settings.js index 496ce9ba..7c837fe7 100644 --- a/test/settings.js +++ b/test/settings.js @@ -80,7 +80,9 @@ module.exports.tests.peliasIndexOneEdgeGramAnalyzer = function(test, common) { "icu_folding", "trim", "custom_name", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "ampersand", "remove_ordinals", @@ -139,7 +141,9 @@ module.exports.tests.peliasPhraseAnalyzer = function(test, common) { "remove_duplicate_spaces", "ampersand", "custom_name", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "icu_folding", "remove_ordinals", @@ -230,7 +234,9 @@ module.exports.tests.peliasStreetAnalyzer = function(test, common) { "trim", "remove_duplicate_spaces", "custom_street", - "street_suffix", + "street_synonyms_en", + "street_synonyms_usps", + "street_synonyms_de", "directionals", "icu_folding", "remove_ordinals", @@ -366,16 +372,45 @@ module.exports.tests.removeAllZeroNumericPrefixFilter = function(test, common) { }); }; -// this filter stems common street suffixes -// eg. road=>rd and street=>st -module.exports.tests.streetSynonymFilter = function(test, common) { - test('has street_suffix filter', function(t) { +// this filter provides synonyms for street suffixes +// eg. road=>rd +module.exports.tests.streetSynonymEnglishFilter = function(test, common) { + test('has street_synonyms_en filter', function(t) { var s = settings(); - t.equal(typeof s.analysis.filter.street_suffix, 'object', 'there is an street_suffix filter'); - var filter = s.analysis.filter.street_suffix; + t.equal(typeof s.analysis.filter.street_synonyms_en, 'object', 'there is an street_synonyms_en filter'); + var filter = s.analysis.filter.street_synonyms_en; t.equal(filter.type, 'synonym'); t.true(Array.isArray(filter.synonyms)); - t.equal(filter.synonyms.length, 127); + t.equal(filter.synonyms.length, 379); + t.end(); + }); +}; + +// this filter provides synonyms for street suffixes +// data is provided by the USPS to assist in correct mailing +// eg. road=>rd +module.exports.tests.streetSynonymUSPSFilter = function (test, common) { + test('has street_synonyms_usps filter', function (t) { + var s = settings(); + t.equal(typeof s.analysis.filter.street_synonyms_usps, 'object', 'there is an street_synonyms_usps filter'); + var filter = s.analysis.filter.street_synonyms_usps; + t.equal(filter.type, 'synonym'); + t.true(Array.isArray(filter.synonyms)); + t.equal(filter.synonyms.length, 191); + t.end(); + }); +}; + +// this filter provides synonyms for street suffixes +// eg. strasse=>st +module.exports.tests.streetSynonymGermanFilter = function (test, common) { + test('has street_synonyms_de filter', function (t) { + var s = settings(); + t.equal(typeof s.analysis.filter.street_synonyms_de, 'object', 'there is an street_synonyms_de filter'); + var filter = s.analysis.filter.street_synonyms_de; + t.equal(filter.type, 'synonym'); + t.true(Array.isArray(filter.synonyms)); + t.equal(filter.synonyms.length, 7); t.end(); }); };