In een geocoder die ik beheer hebben we de beslissing gemaakt om alleen adressen te tonen wanneer we een match in een huisnummer veld hebben. Op dezelfde manier tonen we geen straten wanneer er geen match op het straatveld is. Zou dit een goed idee zijn om ook in de locatieserver toe te passen?
Biedt de vrije geocodeerservice (free endpoint) de gewenste functionaliteit? De suggest service, waar de focus het meest op gelegen heeft, is met name bedoeld voor auto-complete functionaliteit. Let er wel op dat, afhankelijk van wat je precies wil realiseren, je de zoektermen d.m.v. AND moet scheiden: http://geodata.nationaalgeoregister.nl/locatieserver/free?q=hofstraat%20and%20110%20and%20apeldoorn&indent=true
De default operator is OR.
Wel het is voor een autocompleteveld, dus ik zou graag de suggest service willen blijven gebruiken. Bijvoorbeeld: het effect dat ik zou willen bereiken is dat wanneer een gebruiker “marktstra” tikt alleen “Marktstraat” (dus de straat) gesuggereerd wordt en pas wanneer deze “marktstraat 2” tikt er “Marktstraat 2, Den Helder” bij komt. Op dit moment krijg je namelijk al bij “marktstra” adressen gesuggereerd. De kans dat daar het goede adres meteen bij zit is vrij klein, en het staat wat vreemd.
Om de adressen op voorhand uit te filteren, zal het met de huidige opzet heel lastig zijn om dit serverside te doen. En mogelijk is dat ongewenst, omdat iedereen andere verwachtingen heeft v.w.b. het gedrag van de Locatieserver.
Je zou dit wel clientside kunnen doen. Het is de bedoeling dat het eerste zoekresultaat een adres is wanneer er adres is ingevuld. Als het eerste zoekresultaat geen adres is, maar een straatnaam, zou je alle adressen kunnen weglaten. Is dat werkbaar?
Dat zou een work-around kunnen zijn, maar je hebt dan niet alle cases te pakken. Bijvoorbeeld, als je “oomsberg 3” tikt is het wel relevant om “3e Oomsberg 3” als adres terug te geven.
Iets vergelijkbaars geldt voor plaatsnamen. Zoeken op “haarlem” geeft resultaten terug die binnen Haarlem liggen, maar waarin zelf geen “Haarlem” voorkomt, zoals “Abbenes”. Niemand wil Abbenes vinden als hij/zij “haarlem” tikt. Relevanter is “Haarlemsestraat” in Den Haag, maar die komt pas veel later, niet in de eerste tien resultaten.
In het algemeen bedoel ik dus dat wanneer locaties verfijningen van elkaar zijn (gemeente, woonplaats, straat, adres) je alleen resultaten wil zien op het niveau waarop een match is.
Ik begrijp dat dit andere zoekresultaten oplevert. Mijn ervaring is echter dat het aansluit op de beleving van gebruikers. In de klankbordgroep gooien?