Article View: be.comp.programming
Article #16589Re: woord uit recordveld
From: Ares Lagae
Date: Thu, 20 Apr 2000 00:00
Date: Thu, 20 Apr 2000 00:00
48 lines
2277 bytes
2277 bytes
Wouter Tavernier wrote:
> Welke methode gebruikt men om in een grote database de records te halen
> die een bepaald woord bevatten in een sleutelveld? (bv: bij de
> searchengies op internet of bibliotheekcatalogussen)
>
> => je kunt toch moeilijk van alle woorden een "inverted list" bijhouden?
> => sequentieel zoeken en de bekende string-matching algo's loslaten op
> het sleutelveld van elk record is sowieso niet te doen
> => ...
>
> Hoe kun je het dan wel efficient doen ?
Ge hebt sjans, heb juist examen GB gehad
Awel, maakt ene tabel me al uw verschillende woorden. Elk woord is record,
uw woord is dus uw sleutel. In de tabel houd je bij waar da woord voorkomt
in uw andere tabellen
vb:
tabel1:
1 woord1 woord2 woord3...
2 woord3 woord2 woord7...
3 woord9 woord3...
Dan maak je een tabel2 met
1 woord1 tabel1, 1
2 woord2 tabel1, 1, tabel1, 2
3 woord3 tabel1, 1 - tabel1, 2, tabel1, 3
4 woord7 tabel1, 2
5 woord9 tabel1, 3
Dan kan je je woorden uit tabel2 coderen (ascii of zo) en mbv deze waarden
een multilevel index bouwen of hashing toepassen.
Dan heb je directe toegang (ipv binaire, lineaire of zo)
1) Dus gebruiker geeft een woord
2) codeer, kijk in multilevel index of gebruik hashing, resultaat = record
uit tabel 2
3) lees record uit tabel2, resultaat = lijst van de locaties in tabel 1 waar
da woord voorkomt...
nog andere technieken zijn mogelijk
--
Ares Lagae
Technical Details
Message-ID:
<38FEF725.C4511ADD@student.kulak.ac.be>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<38FDC0CB.514AEE88@pandora.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,f6a1d43db0ce3c19 X-Google-Attributes: gidfcea4,public From: Ares Lagae <ares.lagae@student.kulak.ac.be> Subject: Re: woord uit recordveld Date: 2000/04/20 Message-ID: <38FEF725.C4511ADD@student.kulak.ac.be> X-Deja-AN: 613554300 Cache-Post-Path: marvin!unknown@pc-10-1-0-089.kulak.ac.be Content-Transfer-Encoding: 7bit References: <38FDC0CB.514AEE88@pandora.be> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@belnet.be X-Trace: naxos.belnet.be 956233295 27501 134.58.127.3 (20 Apr 2000 12:21:35 GMT) Organization: KULeuvenNet X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/) Mime-Version: 1.0 NNTP-Posting-Date: 20 Apr 2000 12:21:35 GMT Newsgroups: be.comp.programming