Ik heb een lijst met 564 woorden ontvangen, dit zijn zogenaamde UPC-waarden die veel gebruikte afkortingen zijn voor Engelstalige straten en dergelijke. Een klein voorbeeld:
) en nu moet er het volgende mee gebeuren..
Een gebruiker van het systeem voert zijn adres gegevens in, ik transformeer de waarden naar lowercase (of uppercase, maakt niet uit) en strip alle mogelijk "matches" in de UPC-lijst eruit. Vervolgens strip ik alle spaties en dergelijke weg zodat ik een zo kaal mogelijk adres opsla in de database.
Voorbeeld:
Ik voer in: "Flat 5 115 Roe Lane", wat er over moet blijven is dit: "flat5115roe".
Ik voer in: "115 Robertson Avenue", wat er over moet blijven is dit: "115robertson".
Etc.
Nu wil ik best uitleggen waarom dat zo moet maar da's niet belangrijk voor de vraag
De vraag is dan ook: hoe filter ik de invoer (een string) op al deze 564 woorden zonder veel performance van de server te vragen?
Oplossing #1: Loop door de gehele recordset en replace het woord met niks, repeat tot 564 en klaar ben je. Probleem hiermee is uiteraard dat het niet erg netjes over komt, het vreet performance (het gebeurt nogal vaak in het systeem) en... ik ben benieuwd wat jullie Tweakers mij nog meer kunnen leren
Deze woorden heb ik inmiddels in een database tabel staan (1 record per woord, niet alle woorden in 1 record ofzoALLEE, ALLEY, ALLY, ALY, ANEX, ANNEX, ANNX, ANX, ARC, ARCADE, AV, AVE, AVEN, AVENU, AVENUE, AVN, AVNUE, BAYOO, BAYOU, BCH, BEACH, BEND, BG, BGS, BLF, BLFS, BLUF, BLUFF, BLUFFS, BLVD, BND, BOT, etc.
Een gebruiker van het systeem voert zijn adres gegevens in, ik transformeer de waarden naar lowercase (of uppercase, maakt niet uit) en strip alle mogelijk "matches" in de UPC-lijst eruit. Vervolgens strip ik alle spaties en dergelijke weg zodat ik een zo kaal mogelijk adres opsla in de database.
Voorbeeld:
Ik voer in: "Flat 5 115 Roe Lane", wat er over moet blijven is dit: "flat5115roe".
Ik voer in: "115 Robertson Avenue", wat er over moet blijven is dit: "115robertson".
Etc.
Nu wil ik best uitleggen waarom dat zo moet maar da's niet belangrijk voor de vraag
De vraag is dan ook: hoe filter ik de invoer (een string) op al deze 564 woorden zonder veel performance van de server te vragen?
Oplossing #1: Loop door de gehele recordset en replace het woord met niks, repeat tot 564 en klaar ben je. Probleem hiermee is uiteraard dat het niet erg netjes over komt, het vreet performance (het gebeurt nogal vaak in het systeem) en... ik ben benieuwd wat jullie Tweakers mij nog meer kunnen leren