Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: tietokanta + asp + vbscript : ehdota hakusanoja haussa

doze [12.10.2005 21:27:58]

#

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ä?

Deewiant [12.10.2005 21:40:15]

#

http://www.dcs.shef.ac.uk/~sam/stringmetrics.html

Tuolla on ainakin listaa eri tavoista ihan laskea kahden tekstin väliset erot. Kuvittelisin, että esimerkiksi oikeinkirjoituksen tarkistajissa käytetään moisia algoritmeja.

doze [12.10.2005 22:29:47]

#

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/ImproveStringSimilarity.asp olikin kätevä esimerkki.. vielä pitäisi vain keksiä, että mihin vetää rajan koska stringit on tarpeeksi samanlaiset..

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta