Hei,
Keksisikö joku miten voisi toteuttaa sellaisen systeemin, että kun tietokannasta haetaan tietoa hakusanoilla, niin jos ei löydy mitään tuloksia, ehdotettaisiin hakusanoja lähiten vastaavia tietoja tietokannasta.
Lisätietoja:
taulun sisältö, josta haetaan (ohjelmien tietoja):
valmistaja
nimi
versio
Jos siis haetaan esim "microaoft windrows" hakusanoilla, niin kun ei aluksi löydy mitään hakee uudelleen lähintä vastaavaa ja löytää "microsoft windows..."
Ajattelin itse, että jos esim splittaa hakusanat ensin tauluun, sitten hakee yksittäisillä hakusanoilla tietokannasta siten että ottaa hakusanoista vain esim 3 ekaa kirjainta ja hakee sitten "valmistaja like 3ekaakirjainta%" jne. Mutta tällöin tulisi aika paljon vastauksia ym..
Onko jossain jotain listaa yleisimmistä virhelyönneistä? esim s-kirjaimen sijasta painaa helposti a, jne. Sitten korvaamalla hakusanoista yleisimpiä kirjotusvirheitä, saisi paljo toimivamman ja järkevämmän systeemin..
Ehdotuksia/mielipiteitä?
http://www.dcs.shef.ac.uk/~sam/stringmetrics.
Tuolla on ainakin listaa eri tavoista ihan laskea kahden tekstin väliset erot. Kuvittelisin, että esimerkiksi oikeinkirjoituksen tarkistajissa käytetään moisia algoritmeja.
Erittäin kätevä linkki! Tuollainen algoritmi olisi ehkä juurikin paras tapa.. pitääpä tutkailla asiaa.
Jos jollain on tietoa esimerkistä, jossa käytetään jotain noista (tai muuta) algoritmiä samankaltaisuuden tarkistamiseen, niin kerro toki. Mieluiten tietenkin vbscriptillä tehtynä. Noista Deewiant:in linkittämistä algoritmeistä saa suuresta osasta sourcet kyllä javana, pitää niitä kahlata.
EDIT: Kun jaksaisi etsiä ensiksi kunnolla ennenkuin kirjoittelee.. Täällä http://codeproject.com/csharp/
Aihe on jo aika vanha, joten et voi enää vastata siihen.